⑴ java,同样一个类,在一个工程下能执行,另一个工程下不能执行,为什么
jdk的版宽山本可能不一样。jdk的版本宽巧誉不一样导致编译出来的结果慎段就不一样,建议查下jdk的版本在两个工程中是否相同
⑵ java中maven引用拥有同名方法的jar包的问题
如果A1和A2是独立存在的,maven是可以巧乎支持这样培前的。
1:孝中悉打成jar包(A1/A2)
2:对应的maven信息(A1/A2)
望采纳!
⑶ 如果一个java工程里,有同一个jar包的多个版本,会有什么影响
这根据程序应用服务器的编译级别级新旧jar包的区别有关。影响可大可小,小则可以忽略,打则直接导致程序无法运行,报错。建议最好是用更高级版本的jar包后立即删除旧的。据我所知和经验得出。websphere的编译级别比要 tamcat和weblogic严格一些。相同的程序,如果有新旧两个jar包首漏。在tamcat和weblogic中跑可能不会出错,但是部署到websphere服务器上很可能会出错(工作中遇到过,可费了不少麻烦,死活找不出原因)。我猜测原因可能是服务器允许加载的jar包有区别。比如websphere服务器上的程序只允许加载两个相同者轮烂但版本不同的jar中的桐碰一个,而tomcat和weblogic允许程序两个都加载进去。这样程序就会找到合适的需要加载的jar包。留下低级的jar包还有可能被攻击,如果有漏洞的话。
⑷ java工程是先跑源码还是先跑jar包
jar包应该是在你用到他的时候指携会调宴氏用,不会自己自动跑的吧,你在源码里面引用jar包,那源晌逗散码运行到引用jar包的地方就会跑jar包了,这是我的理解
⑸ 工程jar与源文件jar有啥区别
源文件Jar中放的是源代码.java文件,工程Jar是编译后的.class文件。
⑹ java编译的问题 两个类在同一个包中 源代码如下
javac
*.java
这样试一下乎镇。
如果你这两个类,A引用了岁锋粗B类
那么就要选编译出B类。
如果相互引用了的话,编译那个都基兆是不成功的,就用
javac
*.java
⑺ 两个JAR包,内容同路径同名,怎么救
把A、B都配置依赖, 即:Require-Bundle:A,B比如:如果A,B都配置成依赖,那么A,B,以及lib下的第三方脊棚.jar属于同一个类嫌腊加载器(classloader) 就不会冲突 如果仅仅芹野滑把A配置成依赖,那么A以及lib下的第三方.jar属于同一个classloader ,而B(里面也有第三方.jar)属于另外一个类加载器(classloader)两个类加载器中有同样的类(第三方.jar) 就会冲突 不同类加载器中不能出现相同的类
⑻ Weblogic项目运行时工程里面的jar和工程中的类名相同哪个会生效
解决以上问题思路是让JVM优先加派信袭载web项坦歼目的antlr.jar包,而不是weblogic自带的较低版本的antlr.jar包。
一、如果是在MyEclipse中启动:
在尘兄MyEclipse的Preferences->Server->WebLogic->WebLogic10.x配置
展开Paths,在Prepend to classPath,将web项目lib目录下的antlr-2.7.6.jar包加入:
通过上面配置,启动WebLogic,问题解决。
⑼ 创建的类,包括类路径与外部添加的jar包中文件路径相同,文件名相同。外部调用的时候调用的是哪个类
调用的是你自己编写的类啊。运行的时候当然是先找你自己的class文件,找不到再找jar包里的了。
⑽ 两个jar包含相同类怎么解决
问题背景:我在工程中引入了smiley-http-proxy-servletjar包
然后运行报错 java..NoSuchMethodError: org.apache.http.util.EntityUtils.consume(Lorg/apache/http/HttpEntity;)V
给我的第一感觉就是一个jar冲突的问题,引入渣闹哗了这个smiley-http-proxy-servlet依赖之后自动隐式引入了httpcore。
如下在idae中搜索类全限定名org.apache.http.util.EntityUtils。发现有两个jar中都包含了这个。
且二者的version.properties中版本不通。如行
httpcore-4.4.8.jar 是4.4.8版本;
GMServiceClient-1.0.jar 的httpcore版本是4.0;
因为java运行时去找的版本是httpcore-4.0.jar,而EntityUtils.consume方法在4.0版本中不存在的。弯并因此报错 java..NoSuchMethodError: org.apache.http.util.EntityUtils.consume(Lorg/apache/http/HttpEntity;)V
解决方法
方法1、将smiley-http-proxy-servlet依赖移动到GMServiceClient-1.0.jar依赖之前,这样的话运行时就会去找httpcore-4.4.8.jar 了
方法2、自己创建所有冲突的类