我是maven的新手并尝试运行简单的弹簧演示。我使用Intellij IDEA作为我的IDE。我正在按照here提供的教程。
所以我跑了
mvn archetype:generate -DgroupId=SpringDemo -DartifactId=SpringExamples
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
然后做了
mvn idea:idea
它生成了所有.ipr,.iws等文件。然后我只是从IDEA打开并选择了.ipr文件。它将其检测为IDEA项目并打开它,但它给了我以下错误
Package name 'cospring' does not correspond to the file path 'cospring-demo'
App类是
package cospring-demo;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
问题是什么?有什么工作吗?
答案 0 :(得分:1)
这是很好的解释
Maven groupIds 更喜欢短划线(“
-
”),但Java编译器禁止在包名称中使用短划线。然而,原型插件只是简单地吐出了用户给出的 groupId 。 ARCHETYPE-216
简单地避免在原型生成的-
中使用groupId
。
如果域名包含连字符或标识符(第3.8节)中不允许的任何其他特殊字符,请将其转换为下划线。 JLS