如何在.jar中打包我的类,仍然打包为战争?

Bla*_*man 8 java spring maven

所以我有一个spring mvc web应用程序,我使用maven在IntelliJ 9中构建.

我跑的时候:

mvn clean install
Run Code Online (Sandbox Code Playgroud)

它将所有内容打包在.war文件和爆炸战争中.

我的项目布局使用maven简单的Web应用程序拱形类型.

How can I have my classes compiled into a .jar file also?
Run Code Online (Sandbox Code Playgroud)

目前我的课程在:

/target/myapp/WEB-INF/classes/
Run Code Online (Sandbox Code Playgroud)

我想要的是它在.jar中编译我的代码,如:

myapp-1.0.jar
Run Code Online (Sandbox Code Playgroud)

/target/myapp/WEB-INF/lib就像我所有的其他罐子一样在我的文件夹中.

更新

我想通过maven完成,而不是intellij具体.

duf*_*ymo 2

您可以轻松创建两个工件 - JAR 和 WAR。

我不确定将 .class 文件放在 JAR 中相对于 WEB-INF/classes 有什么优势。两者都被压缩;JAR 不会提供额外的压缩。您可能希望在其他应用程序中重复使用这些 .class 文件。如果是这种情况,您可能会考虑将这些 Java 类移动到单独的模块中,并添加您创建的 JAR 文件,就像在 WAR 文件中添加任何其他第 3 方 JAR 一样。其他应用程序可以轻松地从您的存储库中检出 JAR 文件并简单地重用它。这种安排最好通过将共享 Java 类移动到版本控制系统中的单独存储库中来完成。