首页 文章

LORA上的maven中的java.lang.ClassNotFoundException

提问于
浏览
0

(我知道之前已经提出过这个问题,但我无法用这些答案解决这个问题)
我'm pretty new to java and I'尝试编写一些代码来访问并使用https://console.thethingsnetwork.org/中的数据 mvn -X -f "C:\xampp\perl\vendor\lib\Apache\apache-maven-3.5.3\bin\data-mqtt\pom.xml" clean compile exec:java
我明白了(来自终端的调试/错误)

java.lang.ClassNotFoundException:java.lang.ClassLoader.loadClass(ClassLoader.java:566)java.lang.ClassLoader.findClass(ClassLoader.java:466 :499)在java.lang.Thread.run上的org.codehaus.mojo.exec.ExecJavaMojo $ 1.run(ExecJavaMojo.java:270)(Thread.java:844)[INFO] --------- -------------------------------------------------- ------------- [INFO] BUILD FAILURE [INFO] ----------------------------- ------------------------------------------- [INFO]总时间:5.844 s [INFO]完成时间:2018-06-18T10:47:08 02:00 [INFO] ---------------------------- -------------------------------------------- [ERROR]无法执行目标org.codehaus.mojo:exec-maven-plugin:1.6.0:java(default-cli)on project data-mqtt:执行Java类时发生异常 . App - > [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目数据上执行目标org.codehaus.mojo:exec-maven-plugin:1.6.0:java(default-cli):mqtt:执行Java类时发生异常 . 在Org.apache.maache.maven.maven上的org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)上的org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)上的应用程序 . lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject( LifecycleModuleBuilder.java:81)在org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java: 128)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)atg.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)org.apache.maven.DefaultMaven.execute(DefaultMaven.java) :105)org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)org.apache.maven.cli.MavenCli.doMain(MavenCli.jav)一:290)在org.apache.maven.cli.MavenCli.main(MavenCli.java:194)在jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl . java:62)at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:564)at org.codehaus.plexus.classworlds.launcher.Launcher .launchEnhanced(Launcher.java:289)org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) )org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)引起:org.apache.maven.plugin.MojoExecutionException:执行Java类时发生异常 . 在Org.caphaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:339)上的org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)org.apache.maven.lifecycle.internal上的应用程序 . mojoExecutor.execute(MojoExecutor.java:208)org.apache.maven.life.internal.MojoExecutor.execute(MojoExecutor.java:154)org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java: 146)在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)在org.apache.maven .lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)在org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)at org .apache.maven.DefaultMaven.execute(DefaultMaven.java:105)org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)org.apache.maven.cli.MavenCli.doMain(MavenCli.java) :290)在org.apache.maven.cli.MavenCli.main(MavenCli.java:194)atjdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)位于jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62),位于java的jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) . lang.reflect.Method.invoke(Method.java:564)org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)at org.codehaus.plexus.classworlds.launcher.Launcher.launch( Launcher.java:229)org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)引起的:java.lang.ClassNotFoundException:java.lang.ClassLoader.loadClass(ClassLoader.java:566)中java.lang.ClassLoader.findClass(ClassLoader.java:466)的java.lang.ClassLoader.findClass(ClassLoader.java:466) :499)在java.lang.Thread.run上的org.codehaus.mojo.exec.ExecJavaMojo $ 1.run(ExecJavaMojo.java:270)(Thread.java:844)

到目前为止,这是我的App.java

`
public class App {
public static Client client;

public static void main(String[] args) {
    String region = "eu";
    String appId = "stuf1";
    String accessKey = "stuf2";

   try {
        client = new Client(region, appId, accessKey);
    } catch (URISyntaxException var5) {
        System.out.println(var5);
    }
    client.onError((_error) -> {
        System.out.println("error: " + _error.getMessage());
    });
    client.onConnected((_client) -> {
        System.out.println("connected !");
    });
}}

和我的pom.xml

<repositories>
    <repository>
      <id>Codehaus Mojo</id>
      <name>Codehaus Mojo</name>
      <url>https://oss.sonatype.org/content/repositories/codehaus- 
      snapshots/</url>
      </repository>
  </repositories>
    <build>
    <plugins>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>
          <configuration>
            <classpathScope>test</classpathScope>
            <mainClass>App</mainClass>
          </configuration>
          <executions>
            <execution>
              <id>run-App.java</id>
              <phase>integration-test</phase>
              <goals><goal>java</goal></goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>

          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
          </configuration>

          <executions>
            <execution>
              <id>make-assembly</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
         <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
          <configuration>
            <staleMillis>1</staleMillis>
            <useIncrementalCompilation>false</useIncrementalCompilation>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.21.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

如果有人可以帮助我,如果您需要更多细节,我们将不胜感激 .

1 回答

  • 0

    没有将propper路径改为 <mainClass>App</mainClass><mainClass>org.thethingsnetwork.samples.mqtt.App</mainClass>

相关问题