C++ invoke the java jar
C++ invoke the java jar
我想使用 execvp 调用 java 来执行函数,如下代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
char* const argv[]= {
"-mx300m","-cp","'stanford-postagger.jar:/root/NLP/postagger/:.'",
"edu.stanford.nlp.tagger.maxent.MaxentTagger",
" -model","/root/NLP/postagger/models/english-bidirectional-distsim.tagger",
"-textFile","/root/NLP/postagger/sample-input.txt",
NULL
};
execvp("java",argv);
return 0;
}
但发生错误:
Exception in thread "main" java.lang.NoClassDefFoundError: edu/stanford/nlp/tagger/maxent/MaxentTagger
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.tagger.maxent.MaxentTagger
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: edu.stanford.nlp.tagger.maxent.MaxentTagger. Program will exit.
谁能帮我解决这个问题?非常感谢:)
删除 -cp 参数中过多的引号 '。从 shell 脚本启动时需要它,该脚本最终剥离了它们。
相关文章:
- 在java中解决这段代码时面临循环中的问题
- 尝试用java代码编译和运行c++代码
- 在这种情况下,java对象是否可以调用本机函数
- 在java中读取c++字节的位字段
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 使用已使用 java 编码的 openssl 解码数据
- SWIG Java 在使用 -DSWIGWORDSIZE64 时将int64_t转换为 jlong
- Android Java USB for native cpp
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- C++ equivalent to Java Map getOrDefault?
- 父进程意外被子 cmd 杀死.exe运行 java jar 的进程 - WINDOWS 7 问题 - C++
- 触发Java Jar用C 运行并传递字符串
- C++ invoke the java jar
- C/C++(dll)与JAVA(JAR)中的动态链接
- 如何在C ++文件中使用".class"或".jar" Java文件(无需转换)?
- 使用JNI在.jar中查找Java类
- c++从Java应用程序打包在jar文件中
- 使用JNI从c++程序执行java jar,使用g++或eclipse
- Java - JNA 和共享库,在 Linux 上从.jar启动时不满意的 LinkError
- 将Java jar文件转换为cpp