在我的工作区 (wsPrivate) 中,我有 3 个 gradle 项目。
PixelView 和 Reports 项目编译良好。然而,Hangman 使用这两个项目,并且有些在编译时找不到包。
请参阅以下错误(在编译 Hangman 期间弹出):
D:\_wsGitlab\wsPrivate\Hangman\src\main\java\game\core\Game.java:10: error: package hangman does not exist
import hangman.Messages;
^
D:\_wsGitlab\wsPrivate\Hangman\src\main\java\game\core\Game.java:13: error: package viewer does not exist
import viewer.Box;
^
D:\_wsGitlab\wsPrivate\Hangman\src\main\java\game\core\Game.java:14: error: package viewer.figures.boxes does not exist
import viewer.figures.boxes.Borders;
我已经阅读了几乎所有我能找到的关于类路径的信息以及如何解决这个[在我看来]“范围问题”,而且我也尝试了多种解决方案,但我认为我让情况变得更糟。
该程序无需在 Eclipse 中编译即可正常工作,因此我认为其中的代码是正确的。
我现在已经在这上面呆了三天了,所以如果有人能向我解释一下我在路上行驶的位置,那就太好了。如果需要更多信息:只需询问即可;)
所以这基本上就是我目前所拥有的:
我的包和添加的库的布局:
我已添加到 Hangman 的自定义库:
Hangman 项目构建路径上的项目:
Hangman项目的订购和导出:
引用的其他两个项目(pixelview / reports):
最后但并非最不重要的一点是我的build.gradle
:
apply plugin: 'application'
mainClassName = "game.core.Game"
repositories {
jcenter()
}
dependencies {
compile 'org.apache.commons:commons-math3:3.6.1'
implementation 'com.google.guava:guava:23.0'
testImplementation 'junit:junit:4.12'
}
jar {
baseName = 'HangmanGame'
version = '2.00.0'
manifest {
attributes(
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
'Main-Class': 'game.core.Game'
)
}
}
你说你有三个项目 - 我将其解释为一个 Gradle 项目和三个独立的 Gradle 子项目。
如果是这样,您需要一个settings.gradle
根级别的文件,内容如下
include 'Hangman', 'PixelView', 'Reports'
您可以阅读更多有关编写多项目 Gradle 构建 https://docs.gradle.org/current/userguide/multi_project_builds.html在 Gradle 文档中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)