Articles of Java的

Servlet / webapp抛出load()exception

当我在linux中启动tomcat服务器时,war文件应该自动部署webapp。 当我看到localhost.log文件时,发现以下错误 SEVERE: Servlet /webapp threw load() exception java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76) at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298) at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:652) at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:600) at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:666) at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:519) at […]

执行linux命令的java

我试图从Java代码执行linux的命令'猫',但它不工作。 Runtime.getRuntime().exec("cat /home/roman/logs/*"); 并且它适合单个文件的猫 Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log"); 我的问题是如何从java的一些目录上捕获所有的文件?

JAVA在Centos 6.6上没有被Elasticsearchfind,所有的pathvariables都被设置和工作

我最近打造了一个stream浪服务器,想让Elasticsearch继续下去。 因此,我在“厨师/ Centos-6.6”stream浪云VM上安装了Oracle Java和ES。 我在“etc / profile.d”中使用shell脚本来设置我的Javapath。 这是我的供应脚本: #!/usr/bin/env bash yum -y update wget -O /opt/jdk-7u67-linux-x64.tar.gz –no-cookies –no-check-certificate –header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz" tar xzf /opt/jdk-7u67-linux-x64.tar.gz -C /opt/ touch /etc/profile.d/java.sh echo "export JAVA_HOME=/opt/jdk1.7.0_67" >> /etc/profile.d/java.sh echo "export JRE_HOME=/opt/jdk1.7.0_67/jre" >> /etc/profile.d/java.sh echo "export PATH=$PATH:/opt/jdk1.7.0_67/bin:/opt/jdk1.7.0_67/jre/bin" >> /etc/profile.d/java.sh rpm –import http://packages.elasticsearch.org/GPG-KEY-elasticsearch REPO="[elasticsearch-1.3] name=Elasticsearch repository for 1.3.x packages baseurl=http://packages.elasticsearch.org/elasticsearch/1.3/centos […]

如果应用程序在GC中,如何可靠地进行JVM核心转储?

我试图find我的Java应用程序中的内存泄漏的原因。 我需要为一个长 GC循环的进程获取一个堆转储。 在这种情况下,Jmap不起作用,因为应用程序被挂起,而且堆栈非常大。 不幸的是,jmap抛出了我所取得的核心转储的UnknownOopException。 我想在GC中采取核心转储是不正确的。 有没有什么办法来暂停Java进程的地方,采取核心转储将是正确的? 还是我完全错了,由于其他一些问题而破坏了核心转储?

在java中访问networking共享文件夹(位于Windows或Linux)的推荐方式是什么?

所有,原谅我我不熟悉Linux。 我正在尝试读取位于Windows或Linux系统的networking共享文件夹的所有文件。 目前我只是通过下面的代码使它适用于Windows的情况。 networkShareFolder="\\\\10.50.90.18\\ITS Tool\\xml\\";//It is a windows Network share path. File[] files = new File(networkShareFolder).listFiles(); 但是,当我将我的应用程序部署到Linux系统并运行它。 它只是告诉我不能从指定的networkingnetworkShareFolder获取任何文件; 所以我试图在Linux的文件浏览器中键入path\\10.50.90.18就像我在窗口中所做的一样。 查看是否可以从Linux系统访问path。 但它只是告诉我Can't locate the \\10.50.90.18 。 但我确定IP可以从Linux进行ping。 所以我的问题是 为什么\\10.50.90.18不能在Linux中访问,但可以在Windows中访问。 (我确定他们的IP都是10.50.90。*) 从Windows或Linux访问networking共享文件夹的最佳方式是什么? 谢谢。

jarsigner错误:java.time.DateTimeException:MonthOfYear的值无效(有效值1 – 12):0

我签署一个离子android apk时出现这个错误,我在Kubuntu 17.04上,使用Ionic 3,安装了java 8 我得到的错误: Enter Passphrase for keystore: updating: META-INF/MANIFEST.MF adding: META-INF/TEST2.SF adding: META-INF/TEST2.RSA signing: AndroidManifest.xml jarsigner error: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 – 12): 0 java版本 $ java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.17.04.3-b11) OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode) javac的 $ javac -version […]

Java:字体在Linux上看起来乱码,但在Windows上很好

我正在写一个Java应用程序呈现PDF文件的图像,当我在Windows上运行它工作正常。 但是,当我在Linux上渲染PDF时,标准字体看起来有点乱码,就像在某些字符的右侧会有几个像素丢失一样。 我只用OpenJDK 6的全新安装Ubuntu 9.04进行了testing,但是我确定在Linux上看到过类似的问题。 我也尝试使用其他Java PDF应用程序打开PDF,例如SwingLabs PDFRenderer和IcePDF Demo Applet,它们也有同样的问题。 在窗户上,他们都呈现文件就好了。 我也用默认的PDF查看器evince在同一台Ubuntu机器上打开了文档。 Evince呈现的文件没有字体问题,所以我很确定这是一个普通的Java + Linux问题。 为了比较: 此图像在Windows上呈现。 此图像在Linux上呈现。 我用红圈标出了一些乱码。 这个也是在Linux上渲染的。 看起来只有标准字体受到影响。 任何帮助表示赞赏。

无法使用Ubuntu Oracle Java 8运行IntelliJ IDEA CE 12

我正在使用Ubuntu 13.04和Oracle Java 8。 我已经设置了JAVA_HOME和PATHvariables。 这里是试图运行IntelliJ的terminal输出: darren @ ubuntu:〜$ /opt/intellij-idea-ce/bin/idea.sh Java HotSpot(TM)64位服务器虚拟机(构build25.0-b42,混合模式) Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize = 350m; 在8.0中删除了支持 无法清除urlcaching java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:491) 在com.intellij.ide.plugins.PluginManager $ 2.run(PluginManager.java:190) 在java.lang.Thread.run(Thread.java:724) 引起:java.lang.NoSuchMethodError:sun.reflect.Reflection.getCallerClass(I)Ljava / lang / Class; 在com.intellij.openapi.util.IconLoader.getIcon(IconLoader.java:116) 在com.intellij.openapi.application.impl.ApplicationInfoImpl.readExternal(ApplicationInfoImpl.java:491) 在com.intellij.openapi.application.impl.ApplicationInfoImpl.getShadowInstance(ApplicationInfoImpl.java:426) 在com.intellij.ui.AppUIUtil.getAppIconImages(AppUIUtil.java:66) 在com.intellij.ui.AppUIUtil.updateWindowIcon(AppUIUtil.java:49) 在com.intellij.idea.MainImpl.start(MainImpl.java:46) … 6更多 错误:访问具有参数的com.intellij.idea.MainImpl.start时出错:[] java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:491) 在com.intellij.ide.plugins.PluginManager $ 2.run(PluginManager.java:190) 在java.lang.Thread.run(Thread.java:724) 引起:java.lang.NoSuchMethodError:sun.reflect.Reflection.getCallerClass(I)Ljava / lang / Class; […]

如何告诉Java运行这个Runtime.getRuntime()。exec,而不必等待它运行的命令,只需在后端运行它?

如何让Runtime.getRuntime().exec(p)运行而不用等待睡眠10? 目前它是错误的,它等待执行完成,然后移动到下一个。 我需要在飞行中让exec运行,以便10秒后它可以杀死PresentationInProjector.jpg。 Example: Runtime.getRuntime().exec("(sleep 10; echo '09|00|CC|01|83|88' | nc localhost 58888) &"); PlayThisSlideShow("PresentationInProjector.jpg");

Tomcat本身closures

我在CentOS 6.5 64位和OpenJDK 1.7 64上运行Tomcat 7.0.53。 偶尔有几台服务器 – 像每周一次随机的 – Tomcat只会优雅地closures。 我一直在看这个月,找不到原因。 唯一的模式似乎是closures的一段长时间没有进行。 我已经升级到最新版本的底层工具(Tomcat,Java等) 我正在运行默认的内存设置 我已经禁用server.xml中的SHUTDOWN 我已经将MySQL移动到另一个框,以确保Tomcat是唯一的实质应用程序(服务器也运行nginx) 我已经validation,我没有System.exit()在我的任何代码。 我没有扫描库,因为我不知道如何做到这一点。 我也不指望我会在那里find任何东西。 为什么图书馆会退出? 我已经启用垃圾回收日志logging。 但是他们看起来相当快 – 就像在0.15s的全面GC 这是其中一台服务器的内存使用情况。 大量的RAM免费。 total used free shared buffers cached Mem: 2006 771 1234 0 176 281 -/+ buffers/cache: 313 1692 Swap: 2047 0 2047 以下是Catalina.out中的其中一项活动。 你可以看到它开始,然后几个小时没有什么令人兴奋的。 然后优雅地关上,仿佛被告知。 我已经研究这个死亡,并没有蜜蜂能够处理这一点。 有人能为我提出一个行动计划吗? 谢谢 从Server.xml中: […]