我们的产品在Java版本1.5.0_13暂停,我们想升级.我们的软件通过Java Web Start部署了大量的jar; 所有这些罐子都必须签名.但是,有几个jar不包含类文件,从Java 1.5.0_14开始,jarsign实用程序似乎选择不签署任何不包含类文件的jar.
我该怎么做才能强迫jarsign签署这些罐子?或者我可以做什么来通过Java Web Start分发这些jar而不签名?是否记录了版本1.5.0_14及以上版本的变化?我在发行说明中找不到它.
为什么每个对象看起来都标记为新的,而不仅仅是第二个快照中但不在我的基线快照中的对象?在线查看,我看到一些建议,我需要使用hprof而不是jmap来进行内存转储,但似乎hprof以完全相同的格式生成转储.
这是JDK 1.6.0_14; 我试过Windows和UNIX.
给定一个ant文件集,我需要对它执行一些类似sed的操作,将其压缩为多行字符串(每个文件实际有一行),并将结果输出到文本文件.
我在找什么蚂蚁任务?
在从函数A()调用函数B()期间,B()分配一个100-char数组并多次填充,包括一次使用101个字符的字符串,一次使用110个字符的字符串.这是一个明显的错误.
之后,函数A()尝试访问完全不相关的int变量i,并发生分段错误.
我理解为什么会发生缓冲区溢出,但为什么在访问此整数时会出现分段错误?为什么我不简单地得到垃圾数据?
一些Log4j配置器有一个configureAndWatch()方法,它启动一个线程来观察用于配置的文件(XML文件或properties文件),并在文件发生变化时触发重新配置.
但是,如果您依赖于Log4j 默认初始化过程,则永远不会有机会调用configureAndWatch().您甚至不知道用于配置的文件(它甚至可能不是文件.)
是否有一种获得configureAndWatch()样式行为的好方法,允许动态更改日志配置,同时仍使用默认初始化过程?我假设你的配置URL最终解析为一个可以观看的文件,因为另一台服务器上的URL可能不是你想要每60秒拉一次的东西.
(我发现这个configureAndWatch()方法在Java EE 环境中是不安全的,因为单独的线程,我看到一些应用程序服务器有自己的机制来查看log4j配置文件,但我正在处理的程序目前没有运行在Java EE中.)
根据Oracle的在线文档,JnlpDownloadServlet仍然是Java 7的一部分:http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/downloadservletguide.html
但我刚刚安装了JDK 1.7.0,jnlp-servlet.jar和jardiff.jar都没有出现在我家的任何地方,至少在Windows上.我在目录中的每个jar上搜索(使用优秀的ack命令行实用程序),但它们都不包含JnlpDownloadServlet.
我在一个目录中有三个文件和三个目录,具有不同的日期.
$ cd mydir
$ ls -ltr
-rw-rw-r-- 1 skiphoppy users 0 Nov 14 00:00 file.old.20121114
drwxrwxrwx 2 skiphoppy users 4096 Nov 14 00:00 dir.old.20121114
drwxrwxrwx 2 skiphoppy users 4096 Dec 5 12:05 dir.old.20121205
drwxrwxrwx 2 skiphoppy users 4096 Dec 5 12:05 dir
-rw-rw-r-- 1 skiphoppy users 0 Dec 5 12:16 file.old.20121205
-rw-rw-r-- 1 skiphoppy users 0 Dec 5 12:16 file
Run Code Online (Sandbox Code Playgroud)
我想构建一个包含所有早于2012-12-01的目录的dirset.如果我正确读取,则选择器可用于限制返回的文件.但似乎这对dirset不起作用,即使dirset文档说你可以使用嵌套模式集和选择器.
如果我在文件集上使用日期选择器,我只会得到一个我期望的旧文件; 但是在dirset上使用相同的语法,我得到所有目录:
<fileset id="old.files" dir="mydir">
<date datetime="12/01/2012 12:00 AM" when="before"/>
</fileset>
<echo message="Files: ${toString:old.files}"/>
<dirset id="old.dirs" …Run Code Online (Sandbox Code Playgroud) 我只是注意到CGI :: Simple,同时查找CGI.pm模块.我应该使用CGI :: Simple吗?它对CGI.pm提供了什么,我用了八年?我看到CGI :: Simple不做HTML生成; 我该怎么用呢?并且它会与CGI :: Simple集成,允许我使表单值保持不变,如CGI.pm那样吗?
大约40分钟前,我使用git-cvsexportcommit提交了一个特别复杂的更改,涉及从git到cvs的多个文件重命名,合并和删除.这很顺利,CVS的结账会看到变化.但是,当我运行git-cvsimport来更新我的CVS存储库的git镜像时,更改没有出现.
我知道git-cvsimport会延迟导入非常新的更改,以避免在尚未完成的多文件CVS提交中进行git提交,但我很确定延迟只有十分钟.
有什么想法有什么不对吗?我怎么调试这个?我是否需要手动运行cvsps,如果是这样,我会寻找什么?
我有三个类以有趣的方式进行交互.一个是模型类,它必须由其他两个类访问,因此它的单个实例作为每个类的成员保存.这两个类都以不同的方式与模型交互.
有几个实例必须完全抛弃模型对象并用新实例替换,这使事情复杂化.并且这些场合出现在两个观看/控制类中.因此,这些类中的任何一个必须能够向另一个发送信号,说"我们需要协调并促进用新的Model对象替换我们的Model对象".现在我在B类中有代码告诉A类构造一个新模型并将其发送回来,但现在我需要处理相反的情况,其中事件在A类中出现,不幸的是A类没有引用B级,可能不应该.
处理这个问题的好方法是什么?
更新:对不起,伙计们,这不能是单身人士.单身人士是你需要保证只有一件东西的时候.这与我上面提到的任何要求无关.这个类不是单身,不应该是.
更新:到目前为止,实际上只有一个这个Model类的实例,但我有一个模糊的怀疑我需要允许更多,我不想通过使用Singleton设计模式来限制自己我所拥有的不同关注点.事实证明我是对的:昨天我收到了新的要求,现在我需要支持任意数量的这些.:)当你不需要时,不要限制自己,不要在不打算的情况下滥用设计模式!