【发布时间】:2018-08-22 16:35:37
【问题描述】:
在我的工作区 (wsPrivate) 我有 3 个 gradle 项目。
- 刽子手
- 像素视图
- 报告
Projects 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 中编译就可以正常工作,所以我假设代码是正确的。
我现在在这上面停留了 3 天,所以如果有人能向我解释我在哪里行驶,那就太好了。如果需要更多信息:请询问;)
所以这基本上是我目前所拥有的:
我的包布局和添加的库:
我添加到 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'
)
}
}
【问题讨论】:
-
我在您发布的任何图片中都没有看到
hangman包。 -
[UPDATE] 我已经用 Reports 的包布局(包含刽子手)和 PixelView 的包布局更新了描述。
-
澄清一下,Eclipse 中的项目可以正确编译和运行,而 Gradle 会出现编译错误,对吧?
-
@thokuest "PixelView" 和 "Reports" 编译得很好,因此 gradle 没有给我 gradle 特定的错误。 (放入 gradle 文件中的所有内容都没有这样做)。我总是使用 gradle 项目,但我不必导入任何 mavenCentral 导入或其他任何东西(仅适用于 junit 和其他东西),问题是:Hangman 需要 PixelView 和 Reports,但不知何故 Hangman 无法访问它们
标签: java gradle compiler-errors