x*****g 发帖数: 764 | 1 写了个小程序,一个class中内嵌了几个inner classes. 举个例子,在A class中有一
个inner class B. 在eclipse 里面运行没有任何问题。现在改用命令行运行,但是总
是显示找不到那个inner class,说那个inner class B不存在。我可能整个就不知道怎
么用命令行运行java 程序 (也就是这本身不是个问题),或者是我classpath设的不
对,请大侠们指教一下。先谢谢了。 |
|
g*****g 发帖数: 34805 | 2 你这个命令行inner class不存在,可能跟inner class没有啥关系。就是classpath没
设对。
先从helloworld开始试吧,别上来就inner class。 |
|
x*****g 发帖数: 764 | 3 我的和你的是一个情况,这个inner class 就是一个button panel而已。前面有人讲可
能classpath不对,我也怀疑如此,但是那个含有inner class的class是能够找到的。
error message就是说那个inner class不存在。前面还有人说该从"hello world"开始
。这么说吧,我的第一个"hello world"程序是在1990年编的,java hello world可能
也是7,8nian前的事了吧。不知道说明白了没有。我是没有太多时间去试,就上来问问
想省点时间,因为这里高手多,我毕竟还是个“初学者”吧。 |
|
c*********e 发帖数: 16335 | 4 可以试试把那2 classes(大class以及它的inner class)做成jar文件,在classpath里
加入这个jar文件,就象加library那样,不過我没试过,就是一想法。 |
|
Y**G 发帖数: 1089 | 5 在windows上将.project和.classpath两个文件的"hidden"属性去掉就没问题了,不过
eclipse的错误信息真是misleading... |
|
w****n 发帖数: 266 | 6 装了eclipse JUNO 和 jdk1.6, path 和classpath里都设置了路径,可是每次打开
eclipse还是提醒没改Home Environment,请教是什么问题 |
|
B*****g 发帖数: 34098 | 7
class="org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="entityManagerFactory" />
class="org.springframework.orm.jpa.
LocalContainerEntityManagerFactoryBean">
阅读全帖 |
|
g*****g 发帖数: 34805 | 8 Did you write import in your Java file? If not, hit Ctrl+shift+O.
You can also Ctrl+shift+T, type class names in A to check if it's in
classpath. |
|
w**z 发帖数: 8232 | 9 不熟glassfish, pretty sure jar files have to be deployed to the glassfish
app server
classpath. |
|
d****i 发帖数: 4809 | 10 Eclipse应该可以,没有用过openshift,他推荐用JBoss Developer Studio估计是因为
red hat推荐自家的app server吧。如果你想用tomcat的话,下载安装以后在Eclipse中
直接添加server runtime就可以了,Eclipse会自动把tomcat的jar安装到classpath中
,javax.servlet是JEE的标准package,tomcat里面自然都有。 |
|
a****i 发帖数: 1182 | 11 ear war包里就有jar文件了
没有哪个项目会不带几个jar的,起码的,数据库的jdbc jar要有吧
用hibernate,hibernate的那些也得有,它还依赖于antlr...
这些都得有吧
jar是jar,说的是classpath
beans.xml是说CDI,完全是另外一回事
这都是最基本的java概念 |
|
n******7 发帖数: 12463 | 12 想装一个java包,jblas
看教程放到java的classpath就好
windows下默认的第三方包是
C:Program FilesJavajre7libext
我就丢那里了
现在执行是没问题,但是eclipse的editor好像不能access这个包,老是报错(见图)
这是什么原因?
另外,我看一个人说,java在windows下装两遍jre,比如我的
一个是javajre7
一个是Javajdk1.7.0_25jre
为了保险,他每个包都丢两个地方,比如
C:Program FilesJavajre7libext
C:Program FilesJavajdk1.7.0_25jrelibext
这个有必要吗?
谢谢 |
|
g*****g 发帖数: 34805 | 13 If it's a project-related jar, you can put it under lib folder in your
project, right click on the project and add your jar in the classpath. |
|
|
d****i 发帖数: 4809 | 15 这种情况比较典型。你如果要在A里面用B定义的class的话,应该把B和A共用的class分
开来,然后放在一个单独的jar包里面,然后在A的classpath里面加入这个class。一般
是放在WEB-INF/lib里面。
Eclipse |
|
w**z 发帖数: 8232 | 16 b 放到classpath 上就行了。 你那弄法,改了B库,还要重新编译a, c. 太麻烦。 |
|
g*****g 发帖数: 34805 | 17 弄个property file在classpath上,一般是web-inf/classes, 用spring的
ClassPathResource load就行了。 |
|
s*********d 发帖数: 165 | 18 最近发现一个不错的vimrc
http://vim.spf13.com
现在一旦保存java文件:w,vim就会自动编译。不过很多java classes都事packaged的
,比如说
File directory:
~/proj/bin/com/example/package/foo.class
~/proj/bin/com/example/package/foo1.class
~/proj/src/com/example/package/foo.java
~/proj/src/com/example/package/foo1.java
Class foo need to use class foo1. Using terminal, here is how I can compile
cd ~/proj/bin
javac -d ./ ../src/com/example/package/foo.java
(1, $CLASSPATH = "~/proj/bin", 2, this way only works when we cd to ~proj/
bin. )
With s... 阅读全帖 |
|
g*****g 发帖数: 34805 | 19 干吗要exe, 做一个cmd(sh)就是了。
无非就是java -classpath lib1;lib2 mainClass |
|
m******t 发帖数: 2416 | 20
Sometimes java comes in handy, too - and the good thing is we are probably
familiar with the core packages enough not to have to RTFM.
Although I don't like the hassle of typing those long ass classpaths and
fully qualified class names. Also for quick and dirty pieces, java is
actually slower than most script languages, because it's usually over before
the time all the optimizations kick in. |
|
r****z 发帖数: 18 | 21 怎样import Oracle的JDBC Driver class? 系统及软件设置如下:
Windows XP, 已装了JDK 6和Oracle Express 10g. 写了个Java小程序,前面几行是:
import java.sql.*;
import oracle.*;
import oracle.pool.OracleDataSource;
javac 就是不认oracle.*和oracle.pool.OracleDataSource。我已经从Oracle网站上下
载了ojdbc6.jar并存于当前目录(放源文件的目录)。我也试了将CLASSPATH改成当前
目录或者在命令行直接输入。这些都不行,到底怎么回事啊?
恳请高人执教!
叩谢! |
|
f**y 发帖数: 138 | 22 the jar file not the dir has to be in the CLASSPATH. |
|
g*****g 发帖数: 34805 | 23 sure it should work.
java -classpath xxx.jar;....; YourProgram
and open that jar using winrar or winzip to see if the class is there. |
|
|
c*******n 发帖数: 82 | 25 make sure it's in your classpath and make sure import getCreationDate is
successful w/o error msg. TO check the class is in your memory, do this:
which OutputCreationDate
it should show you information saying that OutputCreationDate is a java
class.
Then, since getCreationDate is a class, not a method, you need to invoke its
method like a class (much like in java itself, just that you don't need to
use the new operator), so you would do it like this
a = getCreationDate
a.OutputCreationDa |
|
f**y 发帖数: 138 | 26 sun.misc.Signal* classes source code are already GPLed in opensdk. The
problem is they are not compatible with gcj. It either can't find them
or spit out "internal compiler error" if the rt.jar file containing the
classes is added to the classpath. |
|
o****i 发帖数: 1706 | 27 我在git上push到学校的服务器后编译老是不通过,错误如下,麻烦大家帮我查下原因
,谢谢啦!
javac -classpath /usr/share/junit/lib/junit.jar -d classes -sourcepath .
Iterator.java List.java TestUpTree.java UpTree.java
UpTree.java:34: type Iterator does not take parameters
public class NIterator implements Iterator{
^
UpTree.java:104: type Iterator does not take parameters
public class SetIterator implements Iterator{
^
TestUpTree.java:51: type Iterator does not take parameters
Iterator it = up.m... 阅读全帖 |
|
e*****t 发帖数: 1005 | 28 你扔到WEB-INF/lib下面,不等于eclipse project的classpath就有这个。 |
|
g*****g 发帖数: 34805 | 29 It needs to be in classpath, that's all.
of |
|
l**********n 发帖数: 8443 | 30 I added the logging.properties to classpath, it is not working.
handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=INFO
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level=INFO
java.util.logging.FileHandler.pattern=logs/jetty.log
# Write 10MB before rotating this file
java.util.logging.FileHandler.limit=10000000
# Number of rotating files to be used
java.util.logging.FileHand... 阅读全帖 |
|
g*****g 发帖数: 34805 | 31 不是目录长度,目录长度我够用了。是命令行长度。一个Java程序是这么启动的。
java -cp xxx.jar;xxx.jar Main
我有一些server应用,有几百个jar,在eclipse做junit test,自动生成的classpath
是完整
的路径,每个jar路径就是200个左右字符,200*200=40000,直接就悲剧了。微软从上
到下都透着小家子气。一个这么简单的bug,就是改不好。
不是我吹毛求疵,碰上这个问题的人一堆。你自己看看吐槽的有多少。
https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193 |
|
z****e 发帖数: 54598 | 32 主要是其它语言几乎都不太可能有几百个类库的规模
大部分其它语言的项目有个十个以上的类库就很大了
只有java有这个规模
classpath |
|
x****u 发帖数: 44466 | 33 这个简单问题你也好意思叫,就算不会改脚本,写个小脚本把所有路径转成8x3后调用
就行了。
classpath |
|
d********u 发帖数: 5383 | 34 这是多么傻逼的设计呀,几百个路径连在一起?
真是傻逼无极限。JAVA这种傻逼的设计也就是给傻逼用的。
放在一个文件里会死吗?
傻逼!
classpath |
|
z****e 发帖数: 54598 | 35 拿di做例子
spring比较早做到了di
但是后来jee标准也要求了di
那么所有jee impl的server全部都有了di
那如果手头上拿到的是jboss的话
怎么di?一样的,跟spring一样
写一个beans.xml,放到classpath下面去
让jboss在启动时候能够找到这个xml,然后就能用了
跟spring的di一样用,区别就是语法上的区别
spring以前用@Autowired,其他di用@Inject
后来spring也支持了@Inject,所以通用了
这样就可以把在spring上的经验就可以移植到
jboss, weblogic, websphere……上去用
java所有的framework的理论都是通用的
aop也是一样,jboss也实现了aop,用法跟spring类似
aspect j是aop的先行者,所以aspect j的一些语法
会比一般的aop impl比如spring aop要复杂一点
但是基本上aspect, pointcut这些概念都是共通的,所以只要留意一下语法差异
以前的经验就能直接搬过来用,所以最后剩下的其实就是理论
具体的实践反而显... 阅读全帖 |
|
w**z 发帖数: 8232 | 36 好像在哪看到说Java 8开始不用classpath了。 |
|
N********n 发帖数: 8363 | 37
也就JAVA连个STRONG NAME、GAC都没有,现在还动辄CLASSPATH、DLL HELL
才整天操心版本控制。.NET根本就不担心这问题。 |
|
N********n 发帖数: 8363 | 38
.NET从设计上就解决了版本冲突。您那边现在还要鼓捣CLASSPATH, 要小心
哪个RUNTIME放前面、放后面,要做个MAVEN来解决.NET上面压根就没有的
版本问题,还自觉领先了。LOL, 您撸得太狠了, 悠着点。 |
|
l*******o 发帖数: 250 | 39 not every time, but happened several times at least. Only got issues with
this site.
C:\dev\vert.x>gvim bin\vertx.bat
C:\dev\vert.x>vertx run Server.java
"C:\Java\jdk1.7.0_45/bin/java.exe" -Djava.util.logging.config.file="c:\
dev\vert.x\bin\..\conf\logging.properties" -Dvertx.home="c:\dev\
vert.x\bin\.." -Dvertx.clusterManagerFactory="org.vertx.java.spi.cluster.
impl.hazelcast.HazelcastClusterManagerFactory" -classpath ";c:\dev\
vert.x\bin\..\conf;c:\dev\vert.x\bin\..\lib\*" org.vertx.java.... 阅读全帖 |
|
w**z 发帖数: 8232 | 40 gradlew 是在 Linux 下run gradle 的脚本,也是一坨setting, CLASSPATH, JAVA__
HOME 啥的
好处是可以自己写build.gradle, grooy syntax, 比用xml 强, 当然你喜欢xml,就
另说了。 |
|
|
N********n 发帖数: 8363 | 42
啥难度啊?除钩子、亚麻能做自己CLOUD之外,其余哪家能和AZURE相比
啊?论技术难度ALEXA上那堆阿猫阿狗和PUBLIC CLOUD公司比差得远呢。
JAVA动辄CLASSPATH,JAR HELL的问题快20年了都没解决,一整就TYPE
ERASURE。设计得一塌糊涂,谁敢抄你啊? |
|
z*******3 发帖数: 13709 | 43 java所有的项目
都经常依赖其他项目
比如a依赖b,c也依赖b,很正常
然后经常遇到的是比如,a依赖b的beta版
c依赖b的2.1版,然后b的某一个方法在beta和2.1版里面不太一样
然后你同时用了a和c,这个时候你突然发现
他们都依赖的b项目开始冲突了,因为b项目的向后兼容做得很糟糕
虽然b的jars都在你的classpath里面
但是你要注意先后顺序
这个时候你就要问怎么办了?
一般是maven或者gradle搞定
但是这个只能治标,治本还是需要自己对依赖的类库有所控制 |
|
N********n 发帖数: 8363 | 44
JAVA那破CLASSPATH设计得一塌糊涂。搞一堆JAR HELL躲还来不及,还指望
别人抄,谁敢啊?你丫别臭美了。 |
|
N********n 发帖数: 8363 | 45
这就是JAVA设计缺陷吗,个别井底JAVA还死撑。C#为啥不用TE?因为设计
上C#就避免版本问题,你的C# CODE可以指定特定版本的RUNTIME运行。如
果3.0加了GENERIC原来2.0的CODE照样能运行,只要编译时指定运行在2.0
RUNTIME上就可以了。JAVA这里就是靠CLASSPATH这种土得掉渣的机制,一
个RUNTIME要BC所有过去版本,结果就是作茧自缚,尾大不掉。 |
|
N********n 发帖数: 8363 | 46
compatible
弱智才在BC上玩FC呢,纯自找罪受。DECOUPLE成不同版RUNTIME最简单。
偏偏JAVA设计者目光短浅就知道CLASSPATH,想不到这一点只好做个TE搬
石头砸自己脚。井底JAVA还出来捧臭脚。
你这个傻逼一贯如此。当年鬼叫了N年LINQ这不好那不好,JAVA不要, 装
得跟TM烈女似的。现在JAVA做STREAM API裸抄LINQ, 乖乖的喝C#洗脚水抽
你大耳光。以前竖大牌坊,现在出来卖逼。你们井底JAVA还有脸装啊? |
|
h*i 发帖数: 3446 | 47 用vim写Clojure的几乎人人都用fireplace吧?
我用的所有vim插件如下:
" My Bundles here:
"
" original repos on github
Plugin 'tpope/vim-sensible'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-classpath'
Plugin 'tpope/vim-projectionist'
Plugin 'tpope/vim-dispatch'
Plugin 'tpope/vim-fireplace'
Plugin 'guns/vim-clojure-static'
Plugin 'guns/vim-clojure-highlight'
Plugin 'ekalinin/Dockerfile.vim'
Plugin 'kien/ctrlp.vim'
Plugin 'luochen1990/rainbow'
Plugin 'davidoc/taskpaper.vim'
Plugin 'othree/xml... 阅读全帖 |
|
g*****g 发帖数: 34805 | 48 最常见的是命令行跑Java程序没有classpath. |
|
N********n 发帖数: 8363 | 49
无知无畏。C#的根在DELPHI,C#的设计师是原来DELPHI的鼻祖。JAVA那一套
是从C++和DELPHI抄来的,结果抄还没抄好。CLASSPATH, TYPERASER之类的
搞的一塌糊涂,到现在尾大不掉。那破烂设计还指望C#抄JAVA?HOHO |
|