简体   繁体   English

找不到或加载主类com.johnathanmarksmith.gradle.HelloWorld

[英]Could not find or load main class com.johnathanmarksmith.gradle.HelloWorld

I use following commands to compile and run a helloworld jar file but got an error 我使用以下命令编译并运行helloworld jar文件,但出现错误

Could not find or load main class com.johnathanmarksmith.gradle.HelloWorld 找不到或加载主类com.johnathanmarksmith.gradle.HelloWorld

Can anyone tell me how to fix it? 谁能告诉我如何解决?

mkdir runnablejar
cd runnablejar
mkdir -p src/main/java
mkdir -p src/main/resources
mkdir -p src/test/java
mkdir -p src/test/resources
mkdir -p com/johnathanmarksmith/gradle
vi com/johnathanmarksmith/gradle/HelloWorld.java
(insert)
package com.johnathanmarksmith.gradle;
public class HelloWorld
{
    public static void main(String[] args) 
    { 
        System.out.println("Hello World!"); 
    } 
}
vi build.gradle
apply plugin: 'java' 

 jar { 
        baseName = 'smith' 
        version = '1.0' 
        manifest { 
                     attributes 'Main-Class': 'com.johnathanmarksmith.gradle.HelloWorld' } 
     }
gradle build
java -jar ./build/libs/smith-1.0.jar

My build result is success 我的构建结果就是成功

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build

BUILD SUCCESSFUL

The problem is that you created the package folders under root of the project not under src/main/java . 问题是您在项目的根目录下而不是src/main/java下创建了包文件夹。

It should be: 它应该是:

mkdir -p src/main/java/com/johnathanmarksmith/gradle
vi src/main/java.com/johnathanmarksmith/gradle/HelloWorld.java

Now it should work well. 现在应该可以正常工作了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM