2016-08-04 3 views
0

Как я могу создать проект j2ee с maven, имеющим стеклянную рыбку 4 в качестве целевой среды?Maven archetype for glassfish runtime

Я использую Eclipse Mars. Я следую мастеру «Динамический веб-проект», я выбираю glassfish 4 как «Target runtime». Когда мастер заканчивается, я открываю проект, а в ресурсах Java -> Библиотеки - я вижу пакет системных библиотек.

Теперь я бы создал тот же проект, используя maven. Я искал архетип, дающий мне тот же комплект библиотек, чтобы избежать проблемы при развертывании, но я не нашел окончательного. Чем ближе к вам работает jersey-quickstart-webapp, тем более, когда я смотрю зависимости, это всего лишь куча уважения к среде старинной рыбы. Возможно? Это звучит странно для меня, может быть, я ошибаюсь, я следую правильному подходу?

Спасибо.

ответ

0

Лучшее, что я мог придумать было это:

mvn archetype:generate -DgroupId=mygroup -DartifactId=myapp -Dversion=1.0-SNAPSHOT 
     -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 

mygroup Где и myapp твои, чтобы определить.

Тогда в сгенерированной pom.xml, добавить это свойство (в элементе свойств):

<glassfish.version>4.1.1</glassfish.version> 

Установите окончательное название в сборки элемента (мы будем ссылаться на него в ближайшее время):

<finalName>myapp</finalName> 

Затем добавьте этот плагин для настройки встроенного выполнения GlassFish, в элементе плагинов:

<plugin> 
    <groupId>org.glassfish.embedded</groupId> 
    <artifactId>maven-embedded-glassfish-plugin</artifactId> 
    <version>${glassfish.version}</version> 
    <configuration> 
     <autoDelete>true</autoDelete> 
     <ports> 
      <http-listener>8080</http-listener> 
      <https-listener>8181</https-listener> 
     </ports> 
    </configuration> 
    <executions> 
     <execution> 
      <id>deploy</id> 
      <goals> 
       <goal>deploy</goal> 
      </goals> 
      <phase>none</phase> 
      <configuration> 
       <app>target/${project.build.finalName}.war</app> 
       <contextRoot>/${project.build.finalName}</contextRoot> 
      </configuration> 
     </execution> 
     <execution> 
      <id>admin</id> 
      <goals> 
       <goal>admin</goal> 
      </goals> 
      <phase>none</phase> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>org.glassfish.main.extras</groupId> 
      <artifactId>glassfish-embedded-all</artifactId> 
      <version>${glassfish.version}</version> 
     </dependency> 
    </dependencies> 
</plugin> 

Затем я использую mvn clean install embedded-glassfish:run для запуска сервера с недавно созданным приложением.

Надеюсь, вам понравится.

+0

Я отбросил архетип из кодекса, потому что Codehaus прекратил все службы. Однако ваш код является хорошей отправной точкой. Я буду изучать его и развивать знания моего Мейвена. Спасибо. – user3253833