javamaven项目结构重构



我有一个像这样的maven项目结构。这是一个java web应用程序。我使用Idea作为我的IDE。controller依赖Core.javaCore.java依赖util/.

|-com
|-domain
|-app
|-controller
|- xxx.java
|-service
|- xxx.java
|-dao
|- xxx.java
|-util
|- xxx.java
|-core
|-Core.java

"Core.java"是一个引擎类,我希望它可以很容易地被替换,这样我就可以用一种简单的方式为我的不同客户端更改引擎(我不需要更改引擎之外的任何代码(。我有一个想法是把它移到一个像这样的独立罐子里

'engine.jar'
|-com
|-domain
|-app
|-core
|-Core.java

并删除我项目中的原始文件。当我需要这个引擎(或另一个引擎(时,我只需要将engine.jar导入到我的项目中。在这之后,我的IDE中的项目结构看起来像

src
|-java
|-main
|-com
|-domain
|-app
|-controller
|- xxx.java
|-service
|- xxx.java
|-dao
|- xxx.java
|-util
|- xxx.java
External Libraries
|-xxx
|-xxx
|-engine.jar
|-com
|-domain
|-app
|-core
|-Core.java

它不起作用。controller中的类找不到Core.java,它在import com.domain.app.core.Core中显示了一条红色波浪线。但Core.java可以发现它依赖于util/.。因此该项目无法通过编译。
我的问题是:我如何才能做到这一点?或者我的解决方案是错误的,这永远不会奏效?

您的解决方案并非如此。

您不会将jar复制到Maven项目中。您在POM中将它们声明为<dependency>

最新更新