我的Intellij项目在IDE中完美地运行,但任何试图提取有效数据的方法。来自它的jar文件导致了某种错误。我的项目使用Maven、Spring和Apache Ignite。这是我的pom。xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.1.RELEASE</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-gettings-started</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-core</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-indexing</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
</project>
清单:
Manifest-Version: 1.0
Main-Class: server.ServerNodeExample
并且,文件夹结构:
- project
- .idea
- out
- src
- main
- java
- examples
- ...
- server
- ...
- resources
- META-INF
- MANIFEST.MF
- test
- target
- pom.xml
我列出了以下尝试:
1-在pom中运行mvn clean install。xml目录:编译得很好,但我得到的错误是相对于jar文件没有主清单属性。
2-我打开jar文件,那里的清单完全不同:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: evandro.teixeira
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_191
所以我在它后面加了一行:
Main-Class: server.ServerNodeExample
现在我发现自己陷入了这个奇怪的例外:
:$ java -jar ignite-gettings-started-1.0.0.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ignite/IgniteException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.ignite.IgniteException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
有什么想法吗?
如果你想用java-jar运行你的项目,你需要构建一个胖jar。这并不取决于依赖项的性质,只要您有任何依赖项。
你也可以尝试使用Spring Boot,它会为你做一个肥胖的罐子。
我不建议使用Apache Ignite 2.1,因为它已经很旧了,在您确定如何启动项目时,Apache Ignite 2.7应该已经推出了。
我是Spring boot的新手,我认为这个问题非常基本。 我使用Spring Boot创建了一个应用程序,在开发环境中一切都很好。但当我将jar文件从目标目录复制到另一台机器并运行“java-jar”时,它不会呈现jsp页面,并出现以下错误: 当我将src文件夹从项目根目录复制到同一位置时,它工作正常。 似乎jar文件只是从项目的根目录工作。 这是我的配置: 和我的项目结构: 我在命令行运行以下
根settings.gradle.kts如下所示: 在SoaProject的一个build.gradle.kts文件中,例如,我有以下依赖项: 导入/刷新gradle项目在Intellij中工作,并且依赖项被下载。但是当我尝试从子项目执行gradle任务时,我得到一个未解决的引用版本错误。 向西蒙致意
在使用Netbeans从现有的Alice 3项目创建可运行的jar后,我得到以下错误: 系统属性:组织。爱丽丝。石斑鱼类。未设置根目录 在我看来,一切都安排好了。我正在使用Linux Mint。Java工作正常。其他可运行的jar文件也可以运行。插件匹配。在Netbeans项目属性中,默认VM选项包括以下行: 我不知所措。请帮忙。
我做了一个简单的项目,其中包含一些测试,我希望能够在其他计算机上启动测试。我使用runas构建了这个项目- 错误:在com类中找不到Main方法。实例TestPurchase,请将main方法定义为:publicstaticvoidmain(String[]args)或JavaFX应用程序类必须扩展JavaFX。应用应用 据我所知,TestNG不需要任何主方法,因为有注释。这就引出了一些问题: 我
问题内容: 在这里提出我的问题之后,我现在提出了这个问题。我正在使用NetBeans 8。 我已经创建了一个Maven项目,我们将其命名为MyLibMaven(我使用了New Project-> Maven-> Java Aplication),然后将我的库(我们将其命名为MyLib)移入了该Maven项目。 现在,当我进入常规的Java项目(我们称其为MyProject),并尝试将MyLibMa
我尝试用maven (mvn包)生成一个. zip文件,并希望在zip中也有一个清单文件。jar文件本身确实可以工作。我试图用maven jar插件生成一个清单文件,但它不起作用。我需要做些别的事情来得到一个清单文件吗,或者使用这个插件就足够了?父pom(我展示的父POM的父POM)有maven汇编插件。(我对maven完全陌生) pom.xml父 pom 的文件: pom。模块的xml文件: