gpt4 book ai didi

java - 以编程方式创建源文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:05 24 4
gpt4 key购买 nike

我尝试使用以下代码在 java 项目中创建一个源文件夹

    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject(projectName);
project.create(null);
project.open(null);
IProjectDescription description = project.getDescription();
description.setNatureIds(new String[] { JavaCore.NATURE_ID });
project.setDescription(description, null);
IJavaProject javaProject = JavaCore.create(project);
IFolder sourceFolder = project.getFolder("src");
sourceFolder.create(false, true, null);
IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder);
IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath());
javaProject.setRawClasspath(newEntries, null);

但它在最后一行给出了 Java 模型异常:javaProject.setRawClasspath(newEntries, null);

Java Model Exception: Java Model Status [Cannot nest 'ProjectName/src' inside 'ProjectName'. To enable the nesting exclude 'src/' from 'ProjectName']
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:784)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3102)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3064)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3117)

谁能告诉我如何以编程方式创建源文件夹?

最佳答案

当您调用 javaProject.getPackageFragmentRoot() 时,您使用自身作为源文件夹为项目创建了构建路径。跳过它,您可以从您的 IFolder 实例中获取项目相对路径并从中创建您的 newSourceEntry。

关于java - 以编程方式创建源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444131/

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