Java IntelliJ为什么说:包安全不存在?
我已使用Google groups上的以下帖子中的说明,将Play Framework 1.2.1项目设置为在IntelliJ中运行: 但是,在上的教程之后,我从IDE中得到以下错误:Java IntelliJ为什么说:包安全不存在?,java,playframework,Java,Playframework,我已使用Google groups上的以下帖子中的说明,将Play Framework 1.2.1项目设置为在IntelliJ中运行: 但是,在上的教程之后,我从IDE中得到以下错误: /Library/WebServer/Documents/devschool.play/app/controllers/Security.java package Secure does not exist /Library/WebServer/Documents/devschool.play/app/cont
/Library/WebServer/Documents/devschool.play/app/controllers/Security.java
package Secure does not exist
/Library/WebServer/Documents/devschool.play/app/controllers/Application.java
cannot find symbol class Secure
当我使用>play run运行应用程序时,一切正常,但我更喜欢从IDE运行它。请注意,在我添加安全模块之前,该项目在IDE中运行得非常好
有办法解决这个问题吗?我有一种预感,这与外部源代码有关,但作为一名Java专家,我不完全确定如何做到这一点
有人能帮忙吗?从您发布的第二个链接中,有一个名为
安全性的类,它看起来像这样:
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
return true;
}
}
Security
扩展了Secure.Security
,它是Security
包中另一个名为Security
的类。此错误表示找不到包Secure
。确保您正确地包含了类路径中的所有内容。好的,在取消选中“编辑配置”对话框中的“生成”复选框后,项目可以编译并运行
要让IDE找到代码,只需附加源代码。在Mac上,按Command+;并在“库”部分下添加源 确保在将模块添加到dependencies.yml或将dependencies添加到application.conf(顺便提一下,它已被弃用)之后运行play idealize您应该运行以下命令:
play dependencies
play idealize
播放依赖项
游戏理想化
第一个将解析来自安全模块的依赖项。
第二个将更新IntelliJ“classpath”,有关安全模块的红线/错误将消失。在application.conf中添加模块已被弃用,不应再使用。而是使用dependencies.yml和add
- play -> secure
现在我的dependencies.yml看起来像:
# Application dependencies
require:
- play
- play -> secure
然后我跑:
play dependencies
play idealize
虽然有一个延迟,但Intellij最终识别出了模块。不确定最后的命令是否必要
(从播放教程的相关页面重新发布Sascha Kleiber的答案:)当在“编辑配置”对话框的“启动前”面板中取消选中“Make”时,项目以运行和调试模式运行,没有任何问题。然而,IDE仍然在@With(Secure.class)中用红色下划线,表示它“无法解析符号Secure”。如何让它们消失?对我来说,这个答案最有意义:嗯,当我第一次开始在play中使用IntelliJ时,我运行了play idealize!,从未意识到在模块更改后需要再次运行它。