我有一個包裝戰爭的項目(A)。另一個項目(B)依賴於A,它需要項目A jar文件,但在編譯階段,項目A的戰爭將產生,項目B沒有可用的罐子。 如何在階段中創建項目A的jar編譯以便項目B可以使用它?我可以在maven中同時生成jar和一個項目的war嗎?
0
A
回答
0
我找到了解決辦法::)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>make-a-jar</id>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<packaging>jar</packaging>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>
${project.build.directory}/${project.artifactId}-${project.version}.jar
</file>
</configuration>
</execution>
</executions>
</plugin>
2
我建議去一個不同的方式,並使用maven-war-plugin which can produce a separate artifact for the classes它可以像下面這樣使用:
<dependency>
<groupId>myGroup</groupId>
<artifactId>myArtifact</artifactId>
<version>myVersion</myVersion>
<classifier>classes</classifier>
</dependency>
這可能是通過在戰爭模塊中使用以下配置實現:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
...
</plugins>
相關問題
- 1. Maven - 生成Jar和War
- 2. 是否有可能創建一個相同的Maven項目的WAR和JAR
- 3. 我可以在同一個Maven項目中動態生成和引用源文件中的類嗎?
- 4. 爲什麼maven-war-plugin會生成一個JAR而不是WAR?
- 5. 使用Maven從一個項目中生成多個War
- 6. 我可以在_every_項目的同一目錄中禁用obj的生成嗎?
- 7. maven項目依賴項是一個生成的jar(不在maven倉庫中)
- 8. 如何在項目中生成jar和war
- 9. 在maven生成的war中包含外部的eclipse項目作爲jar
- 10. 將JAR Maven項目包含到WAR Maven項目中
- 11. ASDoc可以同時爲AIR和Flash項目生成文檔嗎?
- 12. 我可以在同一個項目中使用RxAndroidBle和RxJava2嗎?
- 13. 使用相同的maven項目生成兩個jar
- 14. 我可以在同一個項目中生成JPA元模型和QueryDSL模型
- 15. 爲maven生成一個jar
- 16. 可以將多個項目的Gradle jar放入一個jar嗎?
- 17. maven多模塊項目:我可以jar-with-dependencies嗎?
- 18. 我可以在一個項目中同時使用CakePHP和Prado嗎?
- 19. 在同一個項目中使用gradle war和ear插件可能/明智嗎?
- 20. 我可以在非爆炸WAR中的JAR內獲得URLConnection嗎?
- 21. 用Maven,Tomcat 7和Websocket構建一個可執行的War/Jar
- 22. 在同一個項目中可以使用Drupal Commerce和Ubercart嗎?
- 23. 可以在同一個Python項目pipenv和setuptools中共存嗎?
- 24. Maven:如何在兩個文件夾中生成項目的war文件
- 25. 如何從同一個Maven項目生成不同的可部署?
- 26. 我可以使用maven從Maven中心下載一個jar文件嗎?
- 27. 我可以在單個項目中同時使用Django和Rest Framework視圖嗎?
- 28. 我可以製作一個Maven插件來生成一個項目,然後構建該項目?
- 29. 我可以通過pom.xml將Aspect J jar添加到Maven項目中嗎?
- 30. 使用jar command.is將war解壓到一個目錄可能嗎?
我會說你發現了一個黑客,但不是一個解決方案;-) – khmarbaise
我同意khmarbaise。使用war插件的'attachClasses'選項更清晰。默認情況下,它還附加工件的類(類似於sources和javadoc),以清除它不是模塊的主要輸出。 當然,最好創建一個戰爭項目和其他項目共同的新模塊。全部取決於具體情況。 – Mikezx6r