我花了很多时间在Maven网站上阅读5到30分钟的教程,并且第一次试用了Maven.
我想安装一个Maven插件并用它来开始从Eclipse构建Maven项目.
尽管付出了诚实的努力,但我还是找不到任何Maven插件的综合教程.M2E
,这似乎是事实上的标准,在他们的网站上只有破碎(或递归)链接.
我不知道我是否正确安装了插件,或者如何使用它.
有谁知道一个很好的分步指南M2E
或任何其他插件?一个附带良好的安装文档,以及对其功能和正确用途的可靠解释?
我是log4j
第一次尝试使用SLF4J(带绑定).
我想配置3个不同的名为Logger,它们可以由LoggerFactory返回,它将记录不同的级别并将消息推送到不同的appender:
DailyRollingFileAppender
JmsAppender
JmsAppender
此外,我希望它们以编程方式配置(在Java中,而不是XML或log4j.properties
文件).
我想,通常情况下,我会Logger
在某些引导代码中将它们定义为某个init()
方法,就像方法一样.但是,因为我想使用slf4j-log4j
,我很困惑我可以在哪里定义记录器并使它们可用于类路径.
我不认为这违反了SLF4J的基本目的(作为一个外观),因为我使用SLF4J API的代码永远不会知道这些记录器存在.我的代码只是对SLF4J API进行正常调用,然后将它们转发到它在类路径上找到的log4j Loggers.
但是如何在类路径中配置那些log4j记录器...在Java中?!
是这样的:
cat "Some text here." > myfile.txt
Run Code Online (Sandbox Code Playgroud)
可能?这样的内容myfile.txt
现在会被覆盖为:
Some text here.
Run Code Online (Sandbox Code Playgroud)
这对我不起作用,但也不会引起任何错误.
特别感兴趣的是cat
基于a 的解决方案(不是vim/vi/emacs等).在线显示的所有示例都cat
与文件输入结合使用,而不是原始文本...
我正在使用jQuery $.getJSON()
来对我简单的Spring MVC后端进行异步调用.大多数Spring控制器方法如下所示:
@RequestMapping(value = "/someURL", method = RequestMethod.POST)
public @ResponseBody SomePOJO getSomeData(@ModelAttribute Widget widget,
@RequestParam("type") String type) {
return someDAO.getSomeData(widget, type);
}
Run Code Online (Sandbox Code Playgroud)
我设置了一些东西,以便每个控制器都返回@ResponseBody
JSON,这是客户端所期望的.
但是当请求不应该向客户端返回任何内容时会发生什么?我能有......吗:
@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST)
public @ResponseBody void updateDataThatDoesntRequireClientToBeNotified(...) {
...
}
Run Code Online (Sandbox Code Playgroud)
如果没有,这里使用的语法是什么?提前致谢!
我正在使用JodaTime 1.6.2.
我有一个LocalDate
我需要转换为(Joda)LocalDateTime
或java.sqlTimestamp
for ormapping.
原因是我已经想出如何在a LocalDateTime
和a 之间进行转换java.sql.Timestamp
:
LocalDateTime ldt = new LocalDateTime();
DateTimeFormatter dtf = DateTimeFormatter.forPattern("yyyy-MM-dd HH:mm:ss");
Timestamp ts = Timestamp.valueOf(ldt.toString(dtf));
Run Code Online (Sandbox Code Playgroud)
所以,如果我可以相互转换LocalDate
和LocalDateTime
的话,我可以让继续转换java.sql.Timestamp
.感谢任何正确方向的推动!
我理解运行时和编译时之间的区别以及如何区分这两者,但我没有看到需要区分编译时和运行时依赖.
我正在窒息的是:程序如何在编译期间不依赖运行时依赖的东西?如果我的Java应用程序使用log4j,那么它需要log4j.jar文件才能编译(我的代码集成并调用log4j内部的成员方法)以及运行时(我的代码完全无法控制log4j中的代码后发生的事情) .jar跑了).
我正在阅读依赖解析工具,如Ivy和Maven,这些工具清楚地区分了这两种类型的依赖关系.我只是不明白它的必要性.
任何人都可以给出一个简单的,"国王的英语"式的解释,最好有一个实际的例子,即使像我这样的可怜的人也能理解?
我对金丝雀版本的理解是,它是对部分生产节点的部分发布,其中粘性会话已打开.这样,如果您最终发布了错误的错误,您可以控制并最大限度地减少受影响的用户/客户数量.
我对蓝色/绿色版本的理解是你有2个镜像生产环境("蓝色"和"绿色"),你将更改推送到蓝色或绿色的所有节点,然后使用网络魔术来控制用户通过DNS路由到哪些环境.
所以,在我开始之前,如果我到目前为止所说的任何内容都不正确,请先纠正我!
假设我或多或少走上正轨,那么关于这两个策略的几个问题:
deployment production-environment release-management blue-green-deployment canary-deployment
在Java中,使用a.getClass()
或选择的优缺点是什么A.class
?要么可以在任何Class<?>
预期的地方使用,但我想在不同的情况下使用它们会有性能或其他微妙的好处(就像有Class.forName()
和ClassLoader.loadClass()
.
所以截至昨天早上我还没有找到OSGi甚至是什么的线索.OSGi只是一些流行语,我一直看到它一遍又一遍地出现,所以我终于留出一些时间来了解它.
它实际上看起来很酷,所以我想首先说明(对于记录)我在任何方面都不反OSGi,这也不是一个"OSGi-bashing"问题.
在一天结束时,似乎OSGi已经 - 实质上 - 解决了Java Modularity上的JSR 277,它认识到JAR
文件规范存在缺陷,导致在某些极端情况下命名空间解析和类加载问题.OSGi还做了很多其他非常酷的东西,但从我可以确定的,这是它最大的吸引力(或者其中之一).
对我来说 - 作为一个相当新的(几年前)Java EE开发人员,我们在2011年并且目前生活在Java 7时代,并且这些类加载问题仍然存在,这绝对令人难以置信.特别是在一个应用服务器上可能有数百个JAR的企业环境中,其中许多应用服务器依赖于彼此的不同版本,并且所有应用服务器同时运行(或多或少).
我的问题:
和我在OSGi中一样感兴趣,并且我想开始了解它以了解它在哪里/是否可以用于我的项目,我只是没有时间坐下来学习大的东西,至少现在.
那么当这些问题出现时,非OSGi开发人员会做些什么呢?目前存在哪些Java(Oracle/Sun/JCP)解决方案?为什么Jigsaw从J7切入?Jigsaw明年将在J8实施的社区有多确定?即使它不是Java平台的一部分,是否有可能为您的项目获得Jigsaw?
我想我在这里问的是恐慌,阴谋和一个facepalm的组合.现在我终于明白了OSGi是什么,我只是不"得到"像Jigsaw这样的东西需要20多年才能实现,然后才能从发布中获得.这看起来很基本.
而且,作为开发人员,我也很好奇我的解决方案是什么,没有OSGi.
另外,注意:我知道这不是一个" 纯编程 "类型的问题,但是在你们中的一些人让你的鼻子弯曲变形之前,我想说明(再次,为了记录)我故意把这个问题放在所以.那是因为我对我的同伴SOE只有最大的尊重,我正在寻找一些我所看到的每天潜伏在这里的"IT之神"的建筑级答案.
但是,对于那些绝对坚持使用某些代码段支持SO问题的人:
int x = 9;
Run Code Online (Sandbox Code Playgroud)
(感谢任何能够权衡这个OSGi/Jigsaw/classloader/namespace/JAR地狱的人!)
我需要设置哪些插件和插件功能才能让我的Jenkins作业在任何时候将代码提交给SVN项目时触发构建?
我已经安装了标准SVN插件以及SVN标记插件,但我没有看到任何允许触发器配置的新功能.
java ×6
cat ×1
class ×1
classloader ×1
compile-time ×1
deployment ×1
eclipse ×1
java-platform-module-system ×1
jenkins ×1
jodatime ×1
jquery ×1
linux ×1
log4j ×1
logging ×1
maven ×1
osgi ×1
reflection ×1
runtime ×1
slf4j ×1
spring-mvc ×1
svn ×1
timestamp ×1