编译错误 - 包不存在 - Java
Posted
技术标签:
【中文标题】编译错误 - 包不存在 - Java【英文标题】:Compilation error - package does not exist - Java 【发布时间】:2015-10-07 00:05:49 【问题描述】:我的文件结构如下:
root-folder
--.idea
--folder1-java-console-application (module 1)
----src
------main/java/my/package/App.java
----pom.xml
--folder2-play-framework-2-ui (module 2)
----app
------controllers
--------Application.java
Application.java 依赖于 my.package.App.java。所以,我像这样导入这个包:
Application.java:
import my.package.App;
public class Application extends Controller
public static Result index()
return ok(index.render("Your new application is ready."));
我也 added module 1 在 module 2 的依赖列表中。
现在,当我启动 Play-server 时,我没有任何错误。但是,当我打开 URL http://localhost:9000/
时,我收到错误:编译错误 - 包 my.package.App 不存在。
我很困惑。我可以编译我的代码,但我在运行时遇到了麻烦。我有生以来第一次尝试游戏框架。所以,可能我不知道这方面的一些信息。
完整的启动项目命令(来自 IDEA)是:
"C:\Program Files\Java\jdk1.8.0_11\bin\java" -Dfile.encoding=UTF8 -Djline.terminal=none -Dsbt.log.noformat=true -Dsbt.global.base=C:\Users\Mike\AppData\Local\Temp\sbt-global-plugin3stub -Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M -classpath C:\Users\Mike\.IntelliJIdea14\config\plugins\Scala\launcher\sbt-launch.jar xsbt.boot.Boot run
【问题讨论】:
【参考方案1】:(a) 检查您的 Play 应用程序是否可以在没有依赖项的情况下运行;
(b) 检查您的 Play 应用程序在启动时在类路径中是否有模块 #1 - 请参阅播放框架 dependencies management;
(c) 使用 maven 构建模块 #1(maven guides + google 会有所帮助);
(d) 检查您的模块 #1 jar 是否包含 my/package/App.class 文件。
【讨论】:
(a) 已完成。 (b) - 我不确定 Play 应用程序必须在类路径中有模块 1,因为模块 1 只是 *.java 文件。 (c) 没有jar“模块”,它只是运行时的文件夹和*.class文件。 您从 IDE 启动应用程序。控制台中的第一行描述了启动应用程序的完整 Java 命令。将其添加到您的问题描述中。 看来你没有使用maven。在项目设置 > 模块 #2 中添加对模块 #1 的显式依赖 我只在模块 1 中使用 maven。我已经添加了依赖项 - snag.gy/LEt7n.jpg 最后一次尝试 - 在 play 应用程序中创建 lib/ 文件夹并在此处放置模块 #1 jar 文件(参见步骤 b 中的链接)。以上是关于编译错误 - 包不存在 - Java的主要内容,如果未能解决你的问题,请参考以下文章
为啥编译时库模块中的包不存在,即使 Android Studio 显示代码中没有错误?