gpt4 book ai didi

java - 添加库为 "Referenced library"

转载 作者:行者123 更新时间:2023-12-01 15:14:31 27 4
gpt4 key购买 nike

我正在尝试以编程方式将库添加到引用的库中。这是我的代码:

String filename = "myfile.jar";
InputStream is;
try {
is = new BufferedInputStream(new FileInputStream("D:\\" + filename));
IFile file = project.getFile(filename);
file.create(is, false, null);

IPath path = file.getFullPath();
IClasspathEntry[] cpe = javaProject.getRawClasspath();
List<IClasspathEntry> libraries = Arrays.asList(cpe);
libraries.add(JavaCore.newLibraryEntry(path, null, null));
try {
javaProject.setRawClasspath(libraries.toArray(new IClasspathEntry[libraries.size()]), null);
} catch (JavaModelException e1) {
e1.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}

但结果似乎是:

enter image description here

<小时/>

更新1。

这是类路径。看来 .classpath 没有改变。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="output" path="bin"/>
</classpath>

最佳答案

我怀疑问题出在这一行:

IPath path = file.getFullPath();

试试这一行:

IPath path = file.getProjectRelativePath();

更改项目构建路径时调试问题的一个好方法是查看项目根目录中的 .classpath 文件。该文件将向您显示您的代码所产生的确切效果。然后与手动执行等效操作时获得的效果进行比较。

关于java - 添加库为 "Referenced library",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819241/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com