所以我有一个使用 maven 在 IntelliJ 9 中构建的 spring mvc web 应用程序。
当我运行:
mvn clean install
它将所有内容打包在一个 .war 文件和一个 exploded war 中。
我的项目布局使用 Maven 简单 Web 应用架构类型。
How can I have my classes compiled into a .jar file also?
目前我的类(class)在:
/target/myapp/WEB-INF/classes/
我想要的是在 .jar 中编译我的代码,例如:
myapp-1.0.jar
我的 /target/myapp/WEB-INF/lib
文件夹中有这个,就像我所有其他的 jars 一样。
更新
我希望通过 maven 完成此操作,而不是特定于 intellij。
最佳答案
您可以轻松地创建两个 Artifact - 一个 JAR 和一个 WAR。
与 WEB-INF/classes 相比,我不确定将 .class 文件放在 JAR 中有什么优势。两者都被压缩; JAR 不会提供额外的压缩。您可能希望在其他应用程序中重新使用这些 .class 文件。如果是这种情况,您可能会考虑将这些 Java 类移动到一个单独的模块中并添加您创建的 JAR 文件,就像您在 WAR 文件中添加任何其他第 3 方 JAR 一样。其他应用程序可以轻松地从您的存储库中 check out JAR 文件并简单地重用它。这种安排最好通过将共享 Java 类移动到版本控制系统中的单独存储库中来完成。
关于java - 如何将我的类打包在 .jar 中,并且仍然打包为 war ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8962639/