我正在开展SWT项目,作为团队的一部分.我们不断打破彼此构建环境,因为Eclipses .classpath文件被检入版本控制,我们为我们的机器包含不同的SWT库.
根据最后提交的人,.classpath条目可以是:
<classpathentry kind="lib" path="lib/swt/swt-win32.jar"/>
Run Code Online (Sandbox Code Playgroud)
要么
<classpathentry kind="lib" path="lib/swt/swt-carbon.jar"/>
Run Code Online (Sandbox Code Playgroud)
要么
<classpathentry kind="lib" path="lib/swt/swt-gtk.jar"/>
Run Code Online (Sandbox Code Playgroud)
看起来这些库是互斥的,即你不能同时包含它们并让SWT解决它.所以我们需要以某种方式为每个平台过滤它们......
有没有人对如何做到这一点有任何想法?我最初的想法是将其拆分为自己的".classpath-swt"文件(由VCS忽略),使用Ant自动生成它并将其包含在主.classpath中,但似乎Eclipse不支持拆分.classpath文件.
我们当前的解决方法是避免提交.classpath,除非我们实际上已经更改了依赖项,但是这仍然意味着每次更改.classpath时都会有许多人必须修复它们的开发环境.
任何建议将不胜感激,只要它不是"不使用Eclipse",因为这不是这个项目的选项:)
我一直在尝试在Clojure中编译一个非常简单的test.clj而没有任何成功.我在Clojure谷歌集团有一个主题,有几个回复,但没有任何帮助.为了快速总结,这是我的clojure文件:
(ns test.test
(:gen-class))
(defn -main
[gre]
(println (str "Hello " gre)))
Run Code Online (Sandbox Code Playgroud)
基本上它是Clojure文档中提供的示例文件.
我已经适当地放置了这个文件clojure/src/test/test.clj,并且应该能够编译(compile 'test.test),但我不断收到错误:
java.io.IOException: The system cannot find the path specified (test.clj:1)这让我相信这是一个类路问题.我尝试使用Clojure 文档中给出的所有标准命令运行Clojure 以及该线程的最新建议
java -classpath .;src;classes;clojure.jar clojure.main.
如果它有帮助,我的文件系统看起来像这样:
-+-clojure
+-classes/
+-+-src/
| |-+-test/
| | \-test.clj
+-\-test.clj
+-test.clj
+-clojure.jar
Run Code Online (Sandbox Code Playgroud)
PS我在Vista Ultimate上运行,所以它可能是一个权限问题,但我检查了权限,但发现它们没有任何问题.
我有一个可执行jar,它有一个类值错误的类文件.我向作者请求了该文件并更正了该值.
现在我想编译它并将已编译的类文件添加到jar中并运行它.
毫不奇怪,我为jar文件中的自定义对象的引用获得了多个"找不到符号"错误.
我尝试通过引用类路径中的jar文件来编译该文件,就像这样
C:/> javac file.java -classpath C:/folder/where/jar/is
但这似乎没有用......我得到了同样的错误
C:/> javac file.java
有没有办法编译这个单独的类以某种方式引用jar中的其他文件?
谢谢.
我在遵循以下一些建议时遇到的错误:
javac -classpath C:/jar/location.jar File.java
File.java:226: cannot find symbol
symbol : class Stuff
location: class com.shared.stuffers
Stuff s1 = new Stuff();
^
在Jar中可以找到Stuff类,但javac程序无法看到...我觉得我做错了但不确定在哪里?谢谢.
我在Windows XP Pro SP3上使用MATLAB R2007b,Java 1.6 SE,Eclipse Helios和MySql 5.
我正在尝试创建一个使用JPA注释来访问MySql 5数据库的类库.我们的想法是MATLAB脚本实例化这些Java对象,这些对象提供用于访问数据库的API.
我可以创建我的注释类,它们在Eclipse中工作(即JUnit测试).我可以将代码导出到jar,我可以从命令提示符运行.
我使用javaaddpath()更新MATLAB Java类路径.我可以在MATLAB中实例化我的类.但是,当我调用我的init(),它调用javax.persistence.Persistence.createEntityManagerFactory()时,我得到了可怕的
"没有EntityManager的持久性提供程序"
此错误通常意味着persistence.xml文件不在正确的位置.但它必须是因为我的jar从命令行工作.将META-INF文件夹添加到MATLAB java类路径中没有帮助.无论是否添加了META-INF,也不会提取jar并将提取的文件夹结构添加到类路径中.
有没有人有任何想法,坚果与否?有没有人在任何版本的MATLAB中做过这个.
谢谢.
-reilly.
我需要在程序执行期间使用额外的jar.我手动将jar添加到相对的./lib文件夹,然后执行该程序.我应该如何在清单文件中定义类路径?
好的我在Win Vista上正确设置了我的MAVEN_HOME,JAVA_HOME.但我还没有课程路径.我也安装了MySQL.现在我已经打开了一本Hibernate书,在第一页上它说"确保jdbc驱动程序在你的类路径中".我还下载了一些ZipJ文件,它是ConnectorJ或者某些名称,它基本上是java的mySql驱动程序...但我现在的问题是这句话,我不知道怎么做:"确保jdbc驱动程序在你的类路径中"你能帮我解决一下这个类路径吗?
谢谢
我正在用RMI做我的第一步,我有一个简单的问题.
我有一个.jar文件,它有一个库中的几个方法的实现.我想使用RMI在.jar文件中调用此方法.
我正在尝试创建一种包装来做它.
所以,我正在做这样的事情:
接口类:此接口具有远程对象要实现的方法.
实现类:这个类,具有接口方法的实现,每个实现调用.jar文件中的相应方法.例如,jar文件有一个名为getDetails()的方法,它返回一个"ResponseDetail"对象.ResponseDetail是我在.jar中的响应类.
服务器类:它将方法绑定到rmiregistry
客户端类:它将使用实现中实现的方法.
到现在为止还挺好?:)
现在,我有一个lib文件夹,其中包含.jar文件.
在服务器机器中,我已经部署了Interface,Implementation和Server类.我已经生成了存根,并成功运行了rmiregistry,但是,有了这些细节:
要启动rmiregistry,我必须在命令行中设置classpath来引用.jar文件,否则我得到java.lang.NoClassDefFoundError.我用这个.sh文件做了:
THE_CLASSPATH=
for i in `ls ./lib/*.jar`
do
THE_CLASSPATH=${THE_CLASSPATH}:${i}
done
rmiregistry -J-classpath -J".:${THE_CLASSPATH}"
Run Code Online (Sandbox Code Playgroud)
要启动服务器,我还必须设置类路径以引用.jar文件,否则,我得到java.lang.NoClassDefFoundError.我用过这样的东西:
THE_CLASSPATH=
for i in `ls ./lib/*.jar` do
THE_CLASSPATH=${THE_CLASSPATH}:${i}
done
java -classpath ".:${THE_CLASSPATH}" Server
Run Code Online (Sandbox Code Playgroud)
客户端机器: 要从客户端机器运行Client.class文件,我必须将.jar文件复制到它,并在类路径中引用它们,否则,它不会运行,我得到java.lang. NoClassDefFoundError错误.我不得不在客户端机器上使用它:
THE_CLASSPATH=
for i in `ls ./lib/*.jar`
do
THE_CLASSPATH=${THE_CLASSPATH}:${i}
done
java -classpath ".:${THE_CLASSPATH}" HelloClient
Run Code Online (Sandbox Code Playgroud)
这个可以吗?我的意思是,我是否必须将.jar文件复制到客户端计算机以通过RMI执行方法?
我需要在cfml页面中使用我自己的java类.
文档中的这个条目听起来不错,但没有解释我必须创建哪些文件.
我试图test.cfm在我的网站根目录下创建一个页面.然后将TestClass.java+ TestClass.class放在同一条路径中.但这会导致错误"找不到课程"!
你能帮我么?
我试图了解一下java编译的内幕.所以我放弃了我的IDE并开始使用MS-DOS命令行...
我创建了一个简单的项目,如下面的树所述:
SampleApp
|____**src**
|_____pack
|______Sample.java
|____**classes**
Run Code Online (Sandbox Code Playgroud)
这是Sample.java源代码:
public class Sample
{
private String s = new String("Hello, world");
public Sample(){
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
我只想编译这个类,所以我使用了javac命令:
prompt\SampleApp\src>javac -d ..\classes -sourcepath . pack\Sample.java
Run Code Online (Sandbox Code Playgroud)
一切正常,但我没想到,因为我CLASSPATH在编译Sample.java文件之前删除了我的环境变量.所以我期待编译器错误,因为编译器无法找到java.lang.String类文件.
我读了这篇文章http://www.ibm.com/developerworks/java/library/j-classpath-windows/,它帮助我理解了很多东西.文章作者说默认的类路径是当前的工作目录.但我不明白为什么我的源代码编译没有错误.有人可以向我解释一下吗?
我听说你可以使用classpath其他库中的类.我搜索了这个,所有结果都告诉我使用命令行来编译程序并指定一个类路径.但谁现在会使用命令行编译java程序?
我正在使用eclipse和Android Studio.我的意思是他们是IDE,所以他们肯定可以很容易地设置类路径,对吧?
另外,我想知道这个上下文中的"库"这个词只是一个jar文件,对吧?