的build.gradle :
apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = '1.0'
jar {
manifest {
attributes 'Main-Class': 'app.Main'
}
}
repositories {
mavenCentral()
}
dependencies {
}
Main.java :
package app;
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
我需要构建一个jar,所以我可以从命令行运行它
java -Xms6000m -Xmx7100m -jar sample.jar
我的项目比“Hello World”更复杂,我试图解决的问题是我的jar只有MANIFEST
个文件
Manifest-Version: 1.0
Main-Class: app.Main
我使用buildship插件在Eclipse IDE中创建了我的项目。 (我认为没有问题) 我在命令行中构建我的项目。
gradlew clean build
命令行输出
C:\Development\Workspaces\training\sample>gradlew clean build
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
C:\Development\Workspaces\training\memoryAllocation2>
我的项目结构。
答案 0 :(得分:3)
您的源文件与您的构建脚本不匹配。您必须将文件放在传统的src/main/java/
目录中,或者更改构建脚本以告知Gradle在哪里可以找到源文件。
答案 1 :(得分:1)
将各种评论总结为一个完整的答案:
Gradle使用与Maven一样的方法,称为约定优于配置。这还包括源文件位置的约定。在没有任何配置的情况下,Gradle期望src/main/java
下的应用程序的源文件。测试源可以放在src/test/java
下。