有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果所有大写字母都是Gradle,java就不能生成一个工作jar文件?

我花了一点时间学习了一种艰难的方法,即如果目录(以及jar文件)被标记为像这样的东西,Gradle就无法生成一个工作的jar文件

有人知道这是为什么吗?我刚开始学Java,想知道为什么。我听说在包装上贴上大写字母标签也是不好的做法

编辑:

如果目录都是caps,我会得到Error: Could not find or load main class src.main.java.HelloWorld,但是如果它被标记为某物like_this,它会工作得非常好

编辑:

修复标签后,我的目录结构仅来自一个教程,但它是:

alexanders-mbp:VALID_JAVA alexanderkleinhans$ tree
.
├── build
│   ├── classes
│   │   └── main
│   │       └── net
│   │           └── petrikainulainen
│   │               └── gradle
│   │                   └── HelloWorld.class
│   ├── dependency-cache
│   ├── libs
│   │   └── VALID_JAVA.jar
│   └── tmp
│       ├── compileJava
│       └── jar
│           └── MANIFEST.MF
├── build.gradle
└── src
    └── main
        └── java
            └── net
                └── petrikainulainen
                    └── gradle
                        └── HelloWorld.java

将目录更改为something_else并重新构建,可以使一切正常。顺便说一句,没有构建错误

编辑:

我当时正在跟踪this,但无法让它工作,所以我最终克隆了发现问题的git-repo

要跑,我愿意 gradle assemble gradle build java -jar build/library/VALID_JAVA.jar

(有效的_JAVA是目录名,因此是jar文件名。)


共 (1) 个答案

  1. # 1 楼答案

    看起来您试图启动src.main.java.HelloWorld,但如果查看GIT存储库中的源代码,则完全限定的类名是net.petrikainulainen.gradle.HelloWorld(它也与您的目录结构相匹配)

    要启动应用程序,请使用

    java -classpath build/libs/VALID_JAVA.jar net.petrikainulainen.gradle.HelloWorld
    

    另外请注意,根据GIT存储库中的描述,gradle构建创建了一个可运行的jar文件,您可以像这样启动它

    java -jar pathToJarFile