如果 Gradle 中的所有字母都大写,则无法生成工作 jar 文件?

Can't make a working jar file if all capital letters in Gradle?

我只是花了一点时间学习如果目录(以及 jar 文件)被标记为 LIKE_THIS 的东西,Gradle 就不能创建一个工作的 jar 文件。

有人知道这是为什么吗?我刚收到 Java 并且想知道为什么。我听说用大写字母标记包裹也是不好的做法。

编辑:

如果目录全部大写,我会得到 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 and couldn't get it to work so I finally cloned the git-repo 时发现了我的问题。

为了运行,我愿意 gradle assemble gradle build java -jar build/library/VALID_JAVA.jar

(VALID_JAVA 是目录名,因此是 jar 文件名。)

您似乎尝试启动 src.main.java.HelloWorld,但如果您查看 GIT 存储库中的源代码,完全限定的 class 名称是 net.petrikainulainen.gradle.HelloWorld(也匹配您的目录结构)。

要启动应用程序,请使用

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

另请注意,根据 GIT 存储库中的描述,gradle 构建会创建一个可运行的 jar 文件,您可以像

一样启动它
java -jar pathToJarFile