在Visual Studio基于Maven的Java项目中设置类路径

时间:2018-06-07 20:05:21

标签: java maven visual-studio-code

我正在尝试在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”文件,但是这个信息的位置并不明显......或者根本不在该文件中。

有什么建议吗?

2 个答案:

答案 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存储库中上传jar
mvn 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文件或两者