更改类文件时重启tomcat?

为什么我们需要在更改类文件时重新启动tomcat服务器,是否有其他方法?

如何为OSX和Gatekeeper签署(动态)JNLP文件

我的公司为服务器生成Java应用程序并提供JNLP文件以启动本地应用程序。 从OSX 10.8.4开始,需要使用开发者ID对JNLP文件进行签名,以保持Gatekeeper的满意度(实际上它位于最底层的发行说明中)。 问题是:如何实现这一目标? AFAIK你可以签署应用程序(我们有一些使用开发者ID签名的Java应用程序) – 但JNLP – 文件只是:文件。 下一步:如何使用生成的JNLP文件执行此操作。 我们必须修改它们来自服务器 – 例如属性,基本URL等等。 AFAIK Java有一定的机制可以说JNLP文件是通过它们各自的JAR文件(持有主类的文件)签名的 – 但是:Jar文件使用不同的证书进行签名,它们也不会满足Gatekeeper。 我确实找到了一个关于如何签名工具和东西的参考 ,但它不适用于动态文件的场景。 我不想要的答案:右键单击并打开以覆盖关守或更改系统或Java设置。 这不是一个选择。 [更新]自OSX 10.9.5起,您还必须使用OSX 10.9+进行签名并拥有有效的版本2签名。 怎么做?

在Java中运行x秒的代码?

我想写一个java while循环,它将迭代15秒。 我认为这样做的一种方法是存储当前系统时间+ 15秒,然后将其与while循环签名中的当前时间进行比较。 有没有更好的办法?

在运行时更新JAR

如果jar在JVM中运行,则可以卸载当前运行的Jar并将其从系统中删除。 下载新版本并使用与最后一个Jar相同的名称重命名它,然后初始化新的Jar,在JVM中创建Jar的无缝更新。 甚至可以指示JVM执行此操作吗? 甚至可以在运行时更新Jar吗?

使用Java进行AES加密和解密

这是我正在做的,看起来有点笨拙,但任何帮助对此问题表示赞赏。 我收到BadPaddingException 。 阅读几乎所有相关主题,但没有找到合适的解决方案。 我是加密解密编程的新手,需要在我的一个Java应用程序中实现它。 谢谢..这是代码看起来如何…. public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { // TODO Auto-generated method stub String FileName=”encryptedtext.txt”; String FileName2=”decryptedtext.txt”; String pad=”0″; KeyGenerator KeyGen=KeyGenerator.getInstance(“AES”); KeyGen.init(128); SecretKey SecKey=KeyGen.generateKey(); Cipher AesCipher=Cipher.getInstance(“AES”); AesCipher.init(Cipher.ENCRYPT_MODE,SecKey); byte[] byteText=”My name is yogesh”.getBytes(); byte[] byteCipherText=AesCipher.doFinal(byteText); String cipherText = null; try { FileWriter fw=new FileWriter(FileName); BufferedWriter bw=new […]

使用RestTemplate进行Spring安全身份validation

我有2个春季网络应用程序,提供2组独立的服务。 Web App 1使用基于用户的身份validation实现Spring Security。 现在,Web App 2需要访问Web App 1的服务。通常,我们将使用RestTemplate类向其他Web服务发出请求。 我们如何将Web App 2请求中的身份validation凭据传递给Web App 1

如何强制使用jar(或jar运行的jvm)utf-8而不是系统的默认编码

我的Windows默认编码是GBK,我的Eclipse完全是utf-8编码的。 因此,在我的Eclipse中运行良好的应用程序崩溃,因为在导出为jar文件时单词变得不可读; 我必须在.bat文件中编写以下行来运行该应用程序 start java -Dfile.encoding=utf-8 -jar xxx.jar 现在我的问题是,我可以在源代码中编写一些东西来设置应用程序使用(或运行jvm)utf-8而不是系统的默认编码。

保存双向ManyToMany

我有两个以下列方式注释的实体类 @Entity class A { @ManyToMany(mappedBy=”A”, cascade=CascadeType.ALL) private List b; .. } @Entity class B { @ManyToMany(cascade=CascadeType.ALL) private List a; .. } 如果我存储类’B’的实例,则关系存储在数据库中,类’A’中的getter将返回B的正确子集。 但是,如果我更改“A”中的B列表,更改不会存储在数据库中? 我的问题是,我怎样才能使这两个类中的变化“级联”到另一个类? 编辑:我尝试了删除mappedBy参数和定义JoinTable(和列)的不同变体,但我一直无法找到正确的组合。

在java-8中解组xml时出错“安全处理org.xml.sax.SAXNotRecognizedException导致java.lang.IllegalStateException”

以下代码在Java 7中运行良好 import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; String xmlString = ‘<xml ….. '; StringReader reader = new StringReader(xmlString); JAXBContext jc = JAXBContext.newInstance(MyClass.class); Unmarshaller unmarshaller = jc.createUnmarshaller(); MyClass myClass = (MyClass) unmarshaller.unmarshal(reader); …. 现在我们不得不升级到Java 8,现在我在执行代码时遇到了这个exception: Sep 03, 2014 1:42:47 PM com.sun.xml.internal.bind.v2.util.XmlFactory createParserFactory SCHWERWIEGEND: null org.xml.sax.SAXNotRecognizedException: Feature: http://javax.xml.XMLConstants/feature/secure-processing at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:100) at com.sun.xml.internal.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:114) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:139) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) […]

在同一个类中的另一个方法内调用方法

在他的“Thinking In Java,4th Ed。”中的第428页(关于类型信息的章节)中,Bruce Eckel有以下示例: public class Staff extends ArrayList { public void add(String title, Person person) { add(new Position(title, person)); } /* rest of code snipped */ 也许我有点累,但我看不出add()方法中add()的调用是如何工作的。 我一直认为它应该有一个引用,或者是一个静态方法(我在ArrayList或List中找不到静态add())。 我错过了什么? 我刚刚为自己测试过,发现这个有效: // Test2.java public class Test2 { public void testMethod() { testMethod2(); } public void testMethod2() { System.out.println(“Here”); } public static void main(String[] args) […]