首页 > 解决方案 > 如何从java应用程序调用javaBridge Main

问题描述

我对此有疑问

这是我的主要课程这是我的代码

 import dxtr.mtapi.mt4.data.QuoteClient;
    import php.java.bridge.JavaBridge;
     public class Main {
        
            public static void main(String[] args) throws IOException {
                QuoteClient qc = new QuoteClient(12342, "xasd", "localhost", 9900);
                JavaBridge.main(args);
            }
        }

我运行时出错

Exception in thread "main" java.lang.NoClassDefFoundError: php/java/bridge/JavaBridge
    at dxtr.main.Main.main(Main.java:12)
Caused by: java.lang.ClassNotFoundException: php.java.bridge.JavaBridge
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 1 more

JavaBridge 是不同的jar。所以我在我的 pom 中添加了本地这样的一个。为什么我的代码错误在那里?

安装
<plugins>
    <plugin>
      <!-- Build an executable JAR -->
       <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
            <manifestEntries>
                <Build-Jdk>${jdk.version}</Build-Jdk>
                <Implementation-Title>${project.name}</Implementation-Title>
                <Implementation-Version>${project.version}</Implementation-Version>
                <Specification-Title>${project.name} Library</Specification-Title>
                <Specification-Version>${project.version}</Specification-Version>
                <Class-Path>libs/JavaBridge-1.0.0.jar</Class-Path>
            </manifestEntries>
          <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>dxtr.mtapi.mt4.main.Main</mainClass>
          </manifest>
        </archive>
          <descriptorRefs>
                  <descriptorRef>jar-with-dependencies</descriptorRef>
               </descriptorRefs>
            </configuration>
            <executions>
               <execution>
                  <id>make-my-jar-with-dependencies</id>
                  <phase>package</phase>
                  <goals>
                     <goal>single</goal>
                  </goals>
               </execution>
            </executions>
    </plugin>
  </plugins>

我已经尝试从这里使用我的pom from example from herehttps://stackoverflow.com/questions/2229757/maven-add-a-dependency-to-a-jar-by-relative-path 我已经像这样更新了我的pom。但我仍然无法在我的代码中运行 javaBridge。如何从我的代码运行 java bridge.jar?这是我添加到我的代码时的图片 这里是javabridge的截图

那么如何解决这个问题呢?我必须添加代码或类似的东西吗?

1:[在此处输入图像描述

我也试过用这个

java -cp JavaBridge.jar:build Dxtr.main.Main

但我收到如下错误:错误:无法找到或加载主类 Dxtr.main.Main

那么当尝试运行 JavaBridge.main 时如何解决这个问题

标签: javaphp-java-bridge

解决方案


推荐阅读