有没有办法在一个单一的Maven项目中编译多个Java源代码目录?
在Java Web服务客户端的开发过程中,我遇到了一个问题。 Web服务的身份validation使用客户端证书,用户名和密码。 我从webservice公司获得的客户端证书是.cer格式。 当我使用文本编辑器检查文件时,它具有以下内容: —–BEGIN CERTIFICATE—– [Some base64 encoded data] —–END CERTIFICATE—– 我可以在Internet Explorer中将该文件作为证书导入(无需input密码!),并使用它来与web服务进行身份validation。 我能够通过首先剥离第一行和最后一行,将该证书导入密钥库,转换为unix换行符并运行base64解码。 生成的文件可以导入到密钥库(使用keytool命令)。 列出密钥库中的条目时,此条目的types为trustedCertEntry 。 由于这个入口types(?)我不能使用这个证书来authenticationweb服务。 我开始认为提供的证书是一个公共证书,用于身份validation… 我find的解决方法是在IE中导入证书并将其导出为.pfx文件。 该文件可以作为密钥库加载,并可用于使用web服务进行身份validation。 但是,我不能指望我的客户每次收到新证书时都要执行这些步骤。 所以我想直接将.cer文件加载到Java中。 有什么想法吗? 附加信息:webservice背后的公司告诉我应该请求证书(使用IE和网站)从PC和用户将稍后导入证书。
将Java 8 Stream转换为数组最简单/最简单的方法是什么?
.jar和.war文件有什么区别? 它只是文件的扩展名还是有更多的东西?
我不确定差异。 我使用Hibernate,在某些书中,它们使用JavaBean和POJO作为可互换的术语。 我想知道是否有区别,不仅仅是在Hibernate上下文中,而是作为一般的概念。
我已经安装了从oracle的网站上下载的JDK 7u7。 但安装完毕后,terminal仍然显示java版本6 $java -version java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811) Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode) 任何想法为什么Java 7没有显示出来? Ans:好的,问题已经解决了。 这里是答案:我发现我的terminal有一个.bash_profile和Java主variables设置为1.6 export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home" 所以这是每当我打开一个新的terminal窗口导致问题的线路。 简单地删除这条线将解决问题。 您仍需要遵循@aleroot所说的内容,但是如果这不适用于您,请检查.bash_profile(或.bashrc)设置文件,以查看您以前是否导出过任何Java版本。
我认为Spring AOP最适合用于特定于应用程序的任务,如安全性,日志logging,事务处理等,因为它使用自定义的Java5注释作为框架。 然而,AspectJ似乎是更加友好的devise模式。 任何人都可以突出显示在Spring应用程序中使用Spring AOP与AspectJ的各种利弊吗?
两个数据结构ArrayList和Vector之间有什么区别,你应该在哪里使用它们?
大多数OO语言都是用大写字母I来表示它们的接口名称,为什么Java不这样做呢? 没有遵循这个惯例的理由是什么? 为了演示我的意思,如果我想要一个用户界面和一个用户实现,我会在Java中有两个select: Class = User,Interface = UserInterface Class = UserImpl,Interface = User 在大多数语言中: Class = User,Interface = IUser 现在,你可能会争辩说,你总是可以为用户实现select一个最具描述性的名字,问题就会消失,但是Java将POJO方法推向了事物,大多数IOC容器都广泛地使用了DynamicProxies。 这两件事意味着你将有一个单一的POJO实现的接口。 所以,我想我的问题归结为: “是否值得遵循更广泛的接口命名约定,特别是鉴于Java框架似乎在哪里?
我正在尝试第一次使用SLF4J(与log4j绑定)。 我想configuration3个不同的Logger,它们可以被LoggerFactory返回,LoggerFactory会logging不同的级别,并将消息推送给不同的appender: logging器1“FileLogger”loggingDEBUG DailyRollingFileAppender logging器2“TracingLogger”loggingTRACE + JmsAppender logging器3“ErrorLogger”loggingERROR + JmsAppender加到不同的JmsAppender 此外,我希望他们configuration编程(在Java中,而不是XML或log4j.properties文件)。 我想,通常我会在某些引导代码中的某处init()如init()方法init()定义这些Logger 。 但是,因为我想使用slf4j-log4j ,所以我很困惑我可以在哪里定义logging器,并将它们提供给类path。 我不相信这是违反SLF4J的底层目的(作为一个门面),因为我使用SLF4J API的代码不会知道这些logging器存在。 我的代码只是正常调用SLF4J API,然后将它们转发到它在类path中find的log4j Logger。 但是,我怎么configuration这些log4jlogging器在类path…在Java?