jar cvef Main.jar Main *
added manifest
adding: DrawPane.class(in = 344) (out= 257)(deflated 25%)
adding: DrawPane.java(in = 306) (out= 175)(deflated 42%)
adding: main(in = 9038) (out= 8275)(deflated 8%)
adding: Main.class(in = 868) (out= 544)(deflated 37%)
adding: Main.java(in = 507) (out= 260)(deflated 48%)
adding: Manifest.txt(in = 18) (out= 18)(deflated 0%)
adding: src/(in = 0) (out= 0)(stored 0%)
adding: src/icon.png(in = 1163) (out= 1168)(deflated 0%)
adding: src/Thumbs.db(in = 3584) (out= 1038)(deflated 71%)
Run Code Online (Sandbox Code Playgroud)
创建jar文件,然后:
java -jar Main.jar
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
no main manifest attribute, in …Run Code Online (Sandbox Code Playgroud) 运行我的jar文件时:java -jar target / places-1.0-SNAPSHOT.jar我遇到下一个错误:
no main manifest attribute, in target/places-1.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
我的pom.xml包含spring-boot-maven-plugin:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.places.Main</mainClass>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我也试图创建一个MANIFEST.MF文件并指定该类,但是它没有帮助。
另外,我还尝试了:
<properties>
<!-- The main class to start by executing "java -jar" -->
<start-class>com.places.Main</start-class>
</properties>
Run Code Online (Sandbox Code Playgroud)
我的主要:
@SpringBootApplication
public class Main {
public static void main(String[] args) throws InterruptedException {
SpringApplication.run(Main.class,args);
}
}
Run Code Online (Sandbox Code Playgroud)
你知道我还能尝试什么吗?
我有一个使用 IntelliJIDEA 和 gradle.build 构建的 Spring boot gradle 项目:
plugins {
id 'org.springframework.boot' version '2.5.5'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'pk.inlab.app.web'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-hateoas'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
// Apache commons
implementation 'commons-beanutils:commons-beanutils:1.9.4'
// Jwt
implementation 'io.jsonwebtoken:jjwt:0.9.1'
// OpenAPI and Swagger
implementation 'org.springdoc:springdoc-openapi-ui:1.5.11'
implementation 'org.springdoc:springdoc-openapi-data-rest:1.5.11'
// Passy
implementation 'org.passay:passay:1.6.1' …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行由maven shade插件创建的jar.我按以下方式配置主类:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>org.comany.MainClass</Main-Class>
<Build-Number>123</Build-Number>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
...
但是当我尝试使用java -jar app.jar运行jar时,它会出现以下错误
"no main manifest attribute, in app.jar"
Run Code Online (Sandbox Code Playgroud)
编辑:我使用jar tf app.jar检查了jar的内容,我看到了一个MANIFEST.MF文件.BUt它没有主类的条目.如何确保jar中的清单文件将此条目分开,以便在树荫插件配置中添加它?
无法运行构建的docker镜像.当我使用命令运行时
docker run -p 8080:8080 -t {image prefix name}/{image name}
Run Code Online (Sandbox Code Playgroud)
我收到一条消息 "no main manifest attribute, in app.jar"
使用docker-maven-plugin并尝试maven-assembly-plugin与主类明确调出.
docker version Boot2Docker 1.7.0
我正在尝试按照Google Developer's Console上的说明来检索.pem证书的私钥,以与Google Play应用签名结合使用。由于我没有使用Java密钥库,因此尝试了高级说明,但是在执行文件时no main manifest attribute, in pepk-src.jar出现错误。是什么赋予了?我正在使用java version "1.8.0_101"。
我创建了一个可执行的Java .jar文件.也就是说,我在.jar文件中正确打包了一个java程序,包括一个META-INF/MANIFEST文件.
(顺便说一句,在安装了Java的大多数Windows机器上,.jar文件被注册为运行类似的东西javaw.exe -jar %1,所以你可以双击那些以这种方式准备好的jar.)
我只是将同一个文件复制到Linux中并试图做同样的事情.
但是,当我点击该文件时,它只是将jar作为zip文件打开,而不是调用java.
如何配置我的Linux系统,以便在双击jar文件时执行jar中的程序?也就是说,如何让我的系统调用类似于java -jar test.jar双击test.jar的东西?