2011-08-01 13 views
0

...私は、テンプレートから新しいJavaプロジェクトと広告ファイルを生成するEclipseのプラグインを作成しました。しかし、/ srcディレクトリのコードライブラリのタブにjarファイルを追加する必要があるため、コンパイルできません。eclipse plugin> jarファイルをプログラムに組み込む方法

プロジェクトは経て、すでにJavaプロジェクトである:

org.eclipse.jdt.core.IJavaProject javaProject = org.eclipse.jdt.core.JavaCore.create(proj); 
      org.eclipse.jdt.core.IClasspathEntry src = JavaCore.newSourceEntry(folder.getFullPath()); 
      IClasspathEntry jre = JavaCore.newContainerEntry(new Path(
        org.eclipse.jdt.launching.JavaRuntime.JRE_CONTAINER), new IAccessRule[0], 
        new IClasspathAttribute[] { 
         JavaCore.newClasspathAttribute("owner.project.facets", "java") 
        }, false); 
      IClasspathEntry[] entries = new IClasspathEntry[] { 
        src, jre 
      }; 
      javaProject.setRawClasspath(entries, proj.getFullPath().append("bin"), new NullProgressMonitor()); 

そして今、基本的に、私はボタンは「JARの追加...」何、programmaticaly行う必要がありません。 enter image description here

任意のコードヒントや、まさにこのは参考になるDOESチュートリアルへのリンク...しばらくこれで苦労されて。してください一般的なEclipseプラグインのチュートリアル:)私はおそらく、今ではそれらをすべて見てきたように何リンクしない...

のthnxたくさん

答えて

1

は...、確かではありません

 IFile file = addJar(project, "/resources/myJar.jar", MY_JAR_TARGET_PATH, monitor); //$NON-NLS-1$ 
     newcpEntries.add(JavaCore.newLibraryEntry(file.getFullPath(), null, null, false)); 
     // ..... 
addJarは()のようなものになります

private static IFile addJar(IProject project, String srcPath, String targetPath, IProgressMonitor monitor) { 
    URL srcURL = MyPlugin.getDefault().getBundle().getEntry(srcPath); 
    IFile file = project.getFile(targetPath); 
    InputStream is = null; 
    try { 
     is = srcURL.openStream(); 
     file.create(is, true, monitor); 
    } catch (CoreException e) {//... 
       } catch (IOException e) {//... 
       } 
    finally { 
     try { 
      if (is != null) 
       is.close(); 
     } catch (IOException ignored) {} 
    } 
    return file; 
} 
+0

重要な(関連性の高い)部分> JavaCore.newLibraryEntry(file.getFullPath()、null、null、false) – b0x0rz

1

あなたは日食のAPIのを通してそれを行うだろうかどうかはわかりますが、すべてではありませんだから、一つの選択肢は、プロジェクトが作成されたら、セットアップコードの編集このファイルを持っているだろうが、これはおそらく、あまりにも多くのです

<?xml version="1.0" encoding="UTF-8"?> 
    <classpath> 
     <classpathentry kind="lib" path="x-jars/lucene-fast-vector-highlighter-3.0.3-patch1822.jar"/> 
     <classpathentry kind="lib" path="x-jars/lucene-highlighter-3.0.3.jar"/> 

:設定ウィンドウがないというjarファイルは次のようになりますあなたのproject-name/.classpathファイルへの書き込みでありますあなたが欲しいもののためにハック。私はそれをやったどのようにあなたのREQSはexaclty同じですが、それは何らかの方法で助けを願っていた場合にここで

関連する問題