Articles of 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中: […]

Java中的文件path(Linux)

我已经创build了一个Java应用程序,从一个位于src/文件夹中的文件conf.properties中加载一些configuration。 当我在Windows上运行这个应用程序,它完美的作品。 但是,当我尝试在Linux上运行它时,会引发这个错误: java.io.FileNotFoundException: src/conf.properties (No such file or directory)

Linux下的Java守护进程:select?

我有一个控制台应用程序(用Java编写),应该在Linux机器上运行,直到它停止。 日志logging由应用程序本身完成。 只要有新版本可用(即我login,停止应用程序,复制新的JAR文件,然后再次启动),应用程序需要停止。 除了下面指定的选项之外,还有哪些select可以实现? 已知的方法来做到这一点: 1)Tanuki服务包装 2)nohup java -jar myapp-1.32.jar&

Java内存的奥秘(我有泄漏)?

我有一个独立的Java问题在Linux服务器上运行。 我用-Xmx256m开始了jvm。 我附加了一个JMX监视器,可以看到堆永远不会真的通过256Mb。 但是,在我的Linux系统上运行顶层命令时,我可以看到: 1)首先,这个过程的RES内存使用量约为350Mb。 为什么? 我想这是因为堆外的记忆? 2)其次,这个过程的VIRT内存使用量正在不断增长和增长。 它永远不会停止! 现在显示在2500Mb! 所以我有泄漏? 但堆不增加,它只是循环! 最终,这会造成一个问题,因为系统交换不断增长,最终导致系统死亡。 任何想法是怎么回事? 我想问的一个重要问题是,这可能是我的代码的结果,而不是JVM,内核等的一些情况。例如,如果线程的数量不断增加,那么是否符合我的观察的描述? 任何类似的东西,你可以build议我留意?

Netty 4在Linux上接收多播数据包

我写了一个应用程序接收发件人发送的组播数据包(包含audio)。 我已经使用Netty 4,并已经在Windows上运行该应用程序,但是在Linux(Debian Wheezy(raspi)和Ubuntu 12)上运行时,它不会收到多播数据包。 我创build了一些可以发送和接收多播数据包的testing代码,结果是: 发送Windows到Windows的作品。 发送Linux到Windows的作品。 发送Windows到Linux,数据包发送但没有收到。 我以root身份运行该应用程序,并将SO_BROADCAST设置为true。 我错过了什么? 如果我使用标准的Java MulticastSocket而不是Netty,那么这个应用程序就可以工作,但是我更喜欢使用Netty,因为它很容易使用并且大大简化了代码。 testing代码是: public class TestMulticast { private int port = 51972; private Logger log = Logger.getLogger(this.getClass()); private InetAddress remoteInetAddr = null; private InetSocketAddress remoteInetSocket = null; private InetAddress localInetAddr = null; private InetSocketAddress localInetSocket = null; private DatagramChannel ch = null; private EventLoopGroup […]