【发布时间】:2020-05-10 10:34:55
【问题描述】:
我有一个像这样的 Maven 项目结构。它是一个 Java 网络应用程序。我使用 Idea 作为我的 IDE。 controller 依赖于Core.java,Core.java 依赖于util/.。
|-com
|-domain
|-app
|-controller
|- xxx.java
|-service
|- xxx.java
|-dao
|- xxx.java
|-util
|- xxx.java
|-core
|-Core.java
'Core.java' 是一个引擎类,我希望它可以轻松替换,这样我就可以以简单的方式为不同的客户更改引擎(我不需要更改引擎之外的任何代码)。我有一个想法是把它移到像这样的独立 jar 中
'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/. 中找到它的依赖项。所以项目不能通过编译。
我的问题是:我怎样才能做到这一点?或者我的解决方案是错误的,这永远不会奏效?
【问题讨论】:
-
您能否最后发布您的 pom.xml 代码,看看错误在哪里?
标签: java maven jar compilation