java - Java Maven 无法找到或加载主类
问题描述
我刚刚开始学习 Java,但几乎每一步都有问题......至少我想让这个超级简单的入门教程工作(来自官方 Maven 页面):)
我已经完成了本教程中的每一步,并且已经构建了项目但无法运行它。
因此,当mvn package
我BUILD SUCCESSFUL
尝试jar
通过此命令启动文件时,java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
会发生错误:
Error: Could not find or load main class com.mycompany.app.App
Caused by: java.lang.ClassNotFoundException: com.mycompany.app.App
如何解决?
java版本“11.0.1”2018-10-16 LTS
阿帕奇 Maven 3.6.0
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
项目结构由该命令自动创建,如文档中所示
my-app
|-src
| |-main
| |-java
| |-com
| |-mycompany
| |-app
| |-App.java
|-pom.xml
|-target
和App.java
代码:
package com.mycompany.app;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
和pom.xml
文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>maven-test</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-test</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
</project>
我还必须添加这些行来制作工作mvn package
命令:
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
解决方案
推荐阅读
- ios - 在无尽的奔跑中追逐敌人
- angular - 当通过Angular中的observable从服务中异步加载元素时,如何将元素添加到列表中?
- php - Symfony 4.2 无法注销
- grafana - Grafana,获取价值并在查询中使用的菜单
- spring - Spring Boot 安全性:在 anyRequest 之后无法配置 antMatchers
- mysql - Symfony 原则:在 simple_array 中搜索
- javascript - React 点击事件的正确类型是什么?
- delphi - 控制台窗口始终在屏幕的左上角打开
- docker - Jenkins 脚本化管道,带有用于测试的 Sidecar MYSQL 容器
- c# - 如何访问“
这是我的控制
<div class="input-field col s6"> <textarea id="txtDescrizione" name="txtDescrizione" class="materialize-textarea" runat