Как запустить основной после запуска встроенного кота

Существует веб-приложение Java со встроенным tomcat 7, созданное с помощью этого инструкции (с использованием плагина tomcat7-maven).

это веб-приложение запускается с файлом jar следующим образом: java -jar webapp.jar

Вопрос: Как запустить основной класс после запуска этого встроенного кота?


person Amin Sh    schedule 14.05.2014    source источник


Ответы (2)


Что вам нужно, так это настроить точку входа вашего приложения. Для этого вам нужно настроить свой основной класс внутри файла манифеста jar.

Что-то типа

Manifest-Version: 1.0.1
Created-By: <jdk_version>
Main-Class: fully.qalified.class.name.with.main.method

Дополнительные сведения о манифесте можно найти по здесь

Чтобы сделать этот шаг частью цикла сборки maven, вам необходимо внести некоторые изменения в файл mave.jar.plugin. Что-то типа

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
  <archive>
    <manifest>
    <mainClass>fully.qalified.class.name.with.main.method</mainClass>
    </manifest>
  </archive>
</configuration>
</plugin>

Окончательная созданная банка будет иметь ваш основной метод в качестве точки входа приложений.

person Saif Asif    schedule 14.05.2014
comment
но в файле манифеста уже есть эти строки: Manifest-Version: 1.0 Main-Class: org.apache.tomcat.maven.runner.Tomcat7RunnerCli - person Amin Sh; 14.05.2014
comment
тогда почему бы не добавить вызов вашего основного метода внутри Tomcat7RunnerCli ? - person Saif Asif; 14.05.2014
comment
вы правы, я думаю, что я должен отменить это. Нет ли другого способа иметь вторичный Main-Class в манифесте? - person Amin Sh; 14.05.2014
comment
Насколько мне известно, кажется логичным иметь один основной метод, служащий точкой входа приложения. Помимо этого, у вас может быть столько основных методов, сколько вам нравится! - person Saif Asif; 14.05.2014

Если я правильно понял ваш вопрос. В Eclipse щелкните проект правой кнопкой мыши и выберите «Запустить на сервере».

person Steve Waters    schedule 14.05.2014