在Eclipse中,可以浏览一堆先前的搜索结果.在IDEA中,我似乎只能拥有一组搜索结果,如果我想再做一次,我注定要失去第一组.有没有解决的办法?
我正在将中型应用程序的日志记录从自定义解决方案迁移到更标准的解决方案.我决定使用Logback和SLF4J,并且我已成功迁移了大部分Java代码.但是,我有很多JSP只使用System.out进行日志记录.我从未在JSP上工作过多,并开始怀疑:我应该如何在JSP中使用正确的日志记录?
<%@page import="org.slf4j.Logger"%>
<%@page import="org.slf4j.LoggerFactory"%>
<%
Logger log = LoggerFactory.getLogger(getClass());
%>
<!-- ... -->
<%
log.info("Hello Logging!");
%>
Run Code Online (Sandbox Code Playgroud)
这是首先想到的,但在几点上似乎是错误的:
logger
标准Java类中的静态字段)是否有某种标准,或最佳实践,或用于登录JSP的任何东西?
另外,IIRC,Log4J还有一些taglib.SLF4J(或者Logback)有类似的东西吗?
假设我在内部服务器上运行Sonatype Nexus,我想用它来代理repo1.maven.org和其他存储库.在Maven中我只想添加一个<mirror>
配置settings.xml
.我怎么能用Gradle做到这一点?
更新:我想这样做,而不必将我的Nexus实例的URL硬编码到我拥有的每个项目中.所以我正在寻找Maven <mirror>
设置的精确复制品.
我现在能想出的最好的事情就是这样做:
repositories {
maven {
url "$nexusUrl/content/groups/public"
}
}
Run Code Online (Sandbox Code Playgroud)
然后~/.gradle/gradle.properties
在每个开发人员的计算机上都有这个:
nexusUrl = https://nexus.company.com
Run Code Online (Sandbox Code Playgroud)
但是,这看起来很黑,我仍然需要为每个项目添加5行.有没有更优雅的方式来做到这一点?
Gradle 有这个新功能来缓存配置,而不是为每个构建重新计算它。它可以在命令行上启用--configuration-cache
,但如何在我要在源代码管理中检查的文件中持久启用它?
什么时候做hg log -k
不够,而且hg grep
太慢了(cca.100k变更集)?我们对Fisheye的经历非常糟糕(方式太慢),而Kiln似乎把我们带入FogCreek帝国只是有点太多了.
还有哪些其他选项可以在存储库上提供全文搜索功能?
我已经在分支机构工作了很长一段时间,但我总是使用命令行工具来进行实际的合并.但是,现在我只需要从Eclipse中完成它.分支和合并是SCM系统的一个广泛使用的功能多年来,我希望Eclipse能够很好地支持它,但它似乎并非如此.
目前我正在开发一个由几个项目组成的产品,这些项目需要分支在一起.将更改从trunk更改为分支时,通常我会从分支checkout的根目录执行以下操作:(我在这里使用Subversion作为示例,但问题也应该适用于其他SCM工具.)
svn update
svn merge ^/trunk
svn commit -m "Merged from trunk"
Run Code Online (Sandbox Code Playgroud)
也许在中间解决一些冲突,但这就是我要做的一切.但是,在Eclipse中我只能在项目级别进行合并,这具有以下缺点:
这些限制似乎非常简单,因为Eclipse不知道根文件夹,因为它从SVN中检出单个项目.
我的问题是:我错过了什么,或者是否真的不可能以类似于我在命令行中执行的方式使用Eclipse?如果确实不可能,那么其他人如何应对呢?每个人都使用命令行或TortoiseSVN等外部工具吗?
我想在Java应用程序中发现运行期间接口的所有实现,并从用户可以添加到文件夹的JAR文件中动态加载这些类.它基本上是一个插件系统.
我找到了一些解决方案:
还有其他广泛使用的解决方案吗?
更新:不需要代码分离,OSGi现在似乎太复杂了我的简单需求.我还在这个问题的标题中添加了"简单"以澄清我的意图.
我想在使用CDDL + GPLv2许可证的专有软件中使用Glassfish的某些部分.我被允许这样做吗?我没有修改这些库的代码中的任何内容,所以这是好的,还是我的软件,因为它使用这些库,仍然被认为是衍生作品,因此是一个很大的禁忌?
我的意思是,根据http://jaxb.java.net/,JAXB也在CDDL + GPLv2下,但我知道我可以在专有软件中自由使用它.这是因为CDDL + GPLv2实际上是允许的,还是在与JRE捆绑在一起时以不同的许可证分发?
我的公司正在从Subversion迁移到Mercurial.其中一个原因是Hg我们希望能够更独立地工作.
我们期待使用变基作为我们从主存储库更新的主要方式,至少在开始时,将历史记录保持在一行,从而使从Subversion的过渡变得更容易.
现在,如果我们需要独立工作,我们有两个选择:在Subversion中创建一个分支,然后在那里提交(也就是合并地狱),或者根本不提交.对于Mercurial,我们希望能够继续在本地提交,并且经常进行反转,从而获得独立性,同时不受创建命名分支的管理成本.
这一切听起来都很酷,直到备份进入图片.使用Subversion很明显,如果有人没有提交,他们的工作就会丢失.但是没有提交很快变得不方便(没有历史,没有日志消息等),所以人们会一次又一次地提交.
使用Mercurial,可以继续进行提交和重新定位,而无需长时间推动,从而使更多的工作面临风险.所以出现了一个问题:如何在开发人员的机器上备份这些东西?
有没有其他方法可以做到这一点?我想找到一个解决方案,让我们的开发人员在开始时使用他们的大部分Subversion知识.
在Mercurial中,可以使用fetch扩展来模拟类似的东西svn update
,即与传入的更改合并而不用查看它们.但即使你不使用hg fetch
,你的大多数合并都将"奇迹般地"工作而不会导致冲突.这很好,但是相信Java代码的有效合并是多么安全?
是否有任何示例来说明为什么或何时应该(或不应该)信任这些合并?