我试图在Ubuntu中运行我的.jar,并且每次都有ClassNotFoundException失败。我认为我的问题在于我的Jar文件,但在深入研究之后,我认为问题在于我的Maven实现。当我运行Maven时,它会成功构建,但是我的代码中存在错误。我在几台不同的计算机上使用相同的方法运行相同的代码,这种情况从未发生过。 Maven总是在适当的时候抛出一个错误,所以它允许它在有明显错误之后成功构建的事实使我认为这可能是我的.jar问题的原因。
我正在寻找我的目标文件夹,我注意到我错过了"类"," maven-status"和"生成源"通常在那里的文件夹。我的CLASSPATH变量设置为
"/media/client-script/java-consumer-client"
应该允许Maven找到我的类,因为在pom.xml中它有行
<start-class>com.java.consumer.client.Application</start-class>
这是我的主类的包。我不确定为什么,但看起来Maven无法找到要运行的类。
Here's a screenshot of my file structure.
有没有人知道为什么maven不会在我的课程中寻找合适的地方?我的Classpath设置是否有错误?
这是我的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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.java.consumer</groupId>
<artifactId>java-consumer-client</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Consumer Client</name>
<description>Sample Client for pulling streams from the Consumer Service API.</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<!--
<configuration>
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
</jvmArguments>
</configuration>
-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<scope>compile</scope>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-client</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-container-grizzly-client</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
<properties>
<start-class>com.java.consumer.client.Application</start-class>
<spring.boot.version>1.2.1.RELEASE</spring.boot.version>
<spring.boot.websocket.version>1.2.1.RELEASE</spring.boot.websocket.version>
</properties>
</project>
答案 0 :(得分:1)
默认情况下,您必须将java类存储在src/main/java
文件夹中。不在src/com/java
文件夹中。