我正在尝试在CentOS 7上使用Visual Studio Code来运行/调试来自第三方供应商的现有Hello World Java项目。我对Java比较陌生,所以也许有一些我不知道的东西。
我已经使用描述here的扩展名设置了Visual Studio代码。我还设置了Apache Maven,并且能够在Visual Studio Code中创建一个新的Maven Java项目,该项目可以编译并可以进行调试。现在我想采用第三方供应商的Hello World样本(不使用Maven)并将其合并到正在运行的Maven样本中。
我可以从命令行编译和运行第三方供应商未触及的Hello World应用程序。当我从命令行构建它时,我需要运行一个包含以下内容的build.sh
脚本:
#!/bin/sh
"$JDK/bin/javac" -classpath ".:..:../../../Inc/Java/com.abbyy.FREngine.jar" \ Hello.java
当我将原始Java代码复制并粘贴到Maven项目中的主Java文件中时,这一行......
import.com.abbyy.FREngine.*;
...可以理解地在尝试编译时显示“导入com.abbyy无法解析”错误。
看来我需要在我的项目中的某个地方设置类路径......但我无法弄清楚在哪里。是的,我的项目中有一个“.classpath”文件,但是这个信息的位置并不明显......或者根本不在该文件中。
有什么建议吗?
答案 0 :(得分:1)
我能够通过将此条目添加到.classpath文件来解决我的问题:
<classpathentry kind="lib" path="/opt/ABBYY/FREngine12/Inc/Java/com.abbyy.FREngine.jar" />
答案 1 :(得分:0)
我没有在在线maven存储库中找到这个jar。这意味着您无法在pom.xml中添加此jar作为依赖项,而无需在本地maven存储库中上传jar。
以下是从https://forum.ocrsdk.com/thread/5116-frengine-11-maven-is-not-supported/
中挑选的解决方案首先,您需要使用
在maven存储库中上传jarmvn install:install-file -Dpackaging=jar -DgeneratePom=true -Dclassifier=win -DgroupId=com.abbyy.FREngine -DartifactId=com.abbyy.FREngine.jar -Dversion=11 -Dfile=local_path_to_the_jar_file
然后您可以使用:
在pom.xml中使用依赖项<dependency>
<groupId>com.abbyy.FREngine</groupId>
<artifactId>com.abbyy.FREngine.jar</artifactId>
<version>11</version>
<classifier>${os.prefix}</classifier>
</dependency>
&#34;分类器&#34;在解决方案中使用是必需的,因为它似乎是你使用的jar嵌入了一些本机编译代码(dll左右的文件)。您需要检查您的jar是否嵌入.dll或.so文件或两者