标签: classpath

Eclipse Classpath中的嵌套文件夹

我正在尝试将两个文件夹添加到我的eclipse项目的类路径中,假设文件夹A和文件夹B.B在A内部.每当我向类路径添加A时

<classpathentry kind="lib" path="/A"/>
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我也需要能够访问B中的文件.每当我尝试添加

<classpathentry kind="lib" path="/A/B"/>
Run Code Online (Sandbox Code Playgroud)

它说,到类路径

无法在库A中嵌套'A/B'

在编辑类路径时我是新手,所以我想知道,无论如何在eclipse类路径中添加一个文件夹,它嵌套在另一个也在eclipse类路径中的文件夹中?

java eclipse classpath

4
推荐指数
1
解决办法
1万
查看次数

不创建插件就不能在eclipse中使用JFace和SWT

免责声明:

这是.NET GUI尝试围绕JAVA工作的经典案例.

问题描述:

我正在尝试使用JFace和SWT构建一个非常简单的GUI - 代码很简单(有很多教程),它不是那么简单,我似乎无法让JFace和SWT在插件项目之外工作.

我希望能够在我的项目中使用JFace和SWT没有麻烦,因为我把"C:/ eclipse 3.5/plugins"放在我的CLASSPATH中(从我的计算机 - >属性 - >高级 - >环境变量)以及我在PATH中找到的所有swt - *.dll(可以确定本地用户和全局PATH),如本文在"安装SWT和JFace"框中所示.

问题是我无法从eclipse.org导入任何东西,除非我直接引用buildpath中的jar - > libraries - >添加外部jar(为了构建它我必须添加以下jar:org.eclipse.swt .win32.win32.x86_3.5.1.v3555a.jar,org.eclipse.jface_3.5.1.M20090826-0800.jar).一旦我这样做它构建良好但然后当我作为"Java应用程序"运行时,我得到以下错误(我应该运行其他东西吗?):

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
    at demo.ui.test.EntryPoint.main(EntryPoint.java:18)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IProgressMonitor
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

我试图调试它,基本上它会在尝试实例化ApplicationWindow类(org.eclipse.jface.window.ApplicationWindow)时抛出.试图重现错误,我注释掉了我的所有代码并将其替换为我的main中的以下内容,它在第一行引发了与上面相同的错误:

ApplicationWindow w = new ApplicationWindow(null); //<-- error on this line
w.setBlockOnOpen(true);
w.open();
Display.getCurrent().dispose(); …
Run Code Online (Sandbox Code Playgroud)

java eclipse swt jface classpath

4
推荐指数
2
解决办法
6841
查看次数

我如何从manifest的Class-Path-entries中获取jar

我的清单文件的Class-Path条目中有一个带有两个jar的runnable jar:

Class-Path: module1-0.0.1-SNAPSHOT.jar base-0.0.1-SNAPSHOT.jar
Main-Class: test.MySPI
Run Code Online (Sandbox Code Playgroud)

程序运行正常,并且满足引用的jar中的所有依赖项.但是,当我尝试访问类路径时,jar不存在:

String classpath = System.getProperty("java.class.path");
String[] entries = classpath.split(System.getProperty("path.separator"));
for (String entry : entries) {
    System.out.println("Entry: " + entry);
}
Run Code Online (Sandbox Code Playgroud)

只给出

Entry: .\module2-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

有没有办法访问实际的类路径,因为很明显,系统在路径上找到了这些jar?

java manifest classpath

4
推荐指数
1
解决办法
3544
查看次数

指定jar的类路径

我正在尝试配置JAR的类路径,以便我的ResourceBundle可以从中获取属性文件.

如果我从.class文件运行它并指定-cp标志它工作正常,System.err.println(System.getProperty("java.class.path"));并将打印-cp标志中指定的路径.

如果我尝试为它创建一个jar文件,则System.err.println(System.getProperty("java.class.path"));始终打印jar文件的路径,并且不会拾取属性文件.

看来如果你将它作为一个jar文件运行,你就无法指定-cp标志(这是我所希望的,因为切换正在使用的属性文件是很常见的).我已经尝试在jar清单中指定它,但它仍然无法正常工作.

以下是测试jar中的代码和清单,似乎不起作用:

public final class Test {
    public static void main(final String[] args) {
        System.err.println(System.getProperty("java.class.path"));
    }
}
Run Code Online (Sandbox Code Playgroud)

 

Manifest-Version: 1.0
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Main-Class: Test
Class-Path: /home/ajanuary/Projects/test/
Run Code Online (Sandbox Code Playgroud)

编辑 原始路径没有意义,所以我改变了它.我想指向ResourceBundle可以在其中找到属性文件的目录.

java jar classpath

4
推荐指数
1
解决办法
2148
查看次数

jar里面的java库

我创建了mytest.jar文件,其中包含了包含近30个库文件的库.是否可以将所有库jar放在mytest.jar中,这样我只需要分配1个jar?可能是可以使用清单完成吗?谢谢.

java jar manifest classpath

4
推荐指数
1
解决办法
2495
查看次数

类路径和构建路径之间的区别(在Eclipse中)

Eclipse项目属性> Java构建路径>库选项卡是否类似于java -classpath定义?"构建路径"和"类路径"之间有什么区别?

eclipse classpath

4
推荐指数
1
解决办法
9534
查看次数

JBoss 7.1.1:将jre的rt.jar添加到classpath

我的目标是在JBoss 7.1.1中部署一个ear文件.ear文件中的一个类(我无法更改)是使用sun.net.util.IPAddressUtilJRE的rt.jar类.

在我的IDE(eclipse)中解析了这个类并且它正常编译.但是当我尝试在JBoss 7.1.1上部署(包含类的耳朵)时,它给了我java.lang.NoClassDefFoundError: sun/net/util/IPAddressUtil.JAVA_HOME变量在我的机器中设置,我看到JBoss和eclipse都使用相同的JDK(1.6.X)

当我在lib文件夹中将EAR与rt.jar捆绑在一起时,EAR 正确部署(这是一种不好的方法).

我看过JBoss社区,它说要配置为任何第三方jar的模块.但是,我需要的类是在rt.jar中,我不赞成将它添加为模块

有没有办法配置JBoss 7.1.1手动查看%JAVA_HOME%/jre/lib/rt.jar

提前致谢.

jboss runtime classpath jboss7.x

4
推荐指数
1
解决办法
8970
查看次数

如何将本地文件名传递给ClassPathXmlApplicationContext?

"本地文件名"是指资源文件与类文件位于同一目录中.在下面的情况下,这是JUnitRunner.class文件.getResource()如果路径不以/'' 开头,则Java的文件可以处理此问题

我弄不清楚,如何做同样的ClassPathXmlApplicationContext构造函数?


package springtests;

import java.io.File;
import java.net.URISyntaxException;
import java.net.URL;

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class JUnitRunner {

    private final static Logger log = LoggerFactory.getLogger(JUnitRunner.class);

    @Test
    public void test() throws URISyntaxException {

        String filename = "test01.xml";

        URL url = getClass().getResource(filename);


        File file = new File(url.toURI());
        log.info("File exists: {}", file.exists());

        try {
            new ClassPathXmlApplicationContext(filename);
        }
        catch(Exception e) {
            log.error("Can't load context", e);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

输出如下

15:32:27,375 3 …

java spring classpath applicationcontext

4
推荐指数
1
解决办法
3万
查看次数

在groovy中动态加载jar

我有一个groovy脚本createWidget.groovy:

 import com.example.widget

 Widget w = new Widget()
Run Code Online (Sandbox Code Playgroud)

当我像这样运行它时,这个脚本运行得很好:

$ groovy -cp /path/to/widget.jar createWidget.groovy
Run Code Online (Sandbox Code Playgroud)

但是,我想在脚本中硬编码类路径,以便用户不需要知道它在哪里,所以我修改了createWidget.groovy如下(这是在groovy中修改类路径的方法之一):

this.getClass().classLoader.rootLoader.addURL(new File("/path/to/widget.jar").toURL())

import com.example.widget

Widget w = new Widget()
Run Code Online (Sandbox Code Playgroud)

但是这总是在导入时出现运行时错误:unable to resolve class com.example.widget.

这看起来非常正统,我想你不能在导入之前搞乱rootLoader,还是别的什么?

java groovy classpath

4
推荐指数
2
解决办法
1万
查看次数

从C++代码运行JVM并设置类路径

我正在尝试从C++代码创建JVM 7并努力设置正确的类路径.我想使用通配符指定类路径:例如/ path/to/*(将文件夹中的所有jar包括到类路径中)

如果我正在设置类路径

options[0].optionString = "-Djava.class.path=/path/to/*;"; 
Run Code Online (Sandbox Code Playgroud)

然后找不到我的班级.我试过反斜杠(我使用的是Windows 8),有分号和没有分号,没有任何帮助.这实际上也不能从命令行工作.

然后我尝试提供"-cp"选项,但在这种情况下,无法创建JVM.我试过了:

options[0].optionString = "-cp=/path/to/*";

options[0].optionString = "-cp /path/to/*"; 

options[0].optionString = "-classpath=/path/to/*"; 

options[0].optionString = "-classpath /path/to/*"; 

options[0].optionString = "-cp"; 
options[0].extraInfo = "/path/to/*"; 

options[0].optionString = "-cp"; 
options[1].optionString = "/path/to/*"; 
Run Code Online (Sandbox Code Playgroud)

这些都没有帮助.

在从C++创建JVM时,您是否知道如何提供带通配符的类路径?

提前致谢

c++ java java-native-interface jvm classpath

4
推荐指数
1
解决办法
1689
查看次数