小编Lór*_*tér的帖子

是否可以在IntelliJ IDEA中同时查看多个查找操作的结果?

在Eclipse中,可以浏览一堆先前的搜索结果.在IDEA中,我似乎只能拥有一组搜索结果,如果我想再做一次,我注定要失去第一组.有没有解决的办法?

intellij-idea

15
推荐指数
1
解决办法
2125
查看次数

如何在JSP中使用SLF4J Logger

我正在将中型应用程序的日志记录从自定义解决方案迁移到更标准的解决方案.我决定使用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)

这是首先想到的,但在几点上似乎是错误的:

  • 方式太冗长,需要大量工作来转换现有的JSP
  • 每次呈现页面时都会调用LoggerFactory.getLogger()(而不是logger标准Java类中的静态字段)
  • 我认为记录器的名称也不会那么简单

是否有某种标准,或最佳实践,或用于登录JSP的任何东西?

另外,IIRC,Log4J还有一些taglib.SLF4J(或者Logback)有类似的东西吗?

java logging jsp slf4j

14
推荐指数
2
解决办法
6970
查看次数

如何使用带有Gradle的Sonatype Nexus来代理销售代理?

假设我在内部服务器上运行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

13
推荐指数
2
解决办法
1万
查看次数

如何持久启用 Gradle 配置缓存功能?

Gradle 有这个新功能来缓存配置,而不是为每个构建重新计算它。它可以在命令行上启用--configuration-cache,但如何在我要在源代码管理中检查的文件中持久启用它?

gradle

12
推荐指数
1
解决办法
9053
查看次数

如何对Mercurial存储库进行全文索引?

什么时候做hg log -k不够,而且hg grep太慢了(cca.100k变更集)?我们对Fisheye的经历非常糟糕(方式太慢),而Kiln似乎把我们带入FogCreek帝国只是有点太多了.

还有哪些其他选项可以在存储库上提供全文搜索功能?

mercurial kiln atlassian-fisheye

11
推荐指数
1
解决办法
827
查看次数

如何在Eclipse中合并大型项目?

我已经在分支机构工作了很长一段时间,但我总是使用命令行工具来进行实际的合并.但是,现在我只需要从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中我只能在项目级别进行合并,这具有以下缺点:

  • 我无法合并根文件夹的内容,只能合并各个项目的内容.同样适用于更新,BTW.
  • 如果在主干上修改了项目结构(例如,添加了一个新项目),则这些更改根本不会合并.同样更新,再次.
  • 合并不是原子的.如果在合并期间在trunk上发生了提交,那么事情可能会在我的工作副本中搞砸了.(这可以解决,但不方便.)

这些限制似乎非常简单,因为Eclipse不知道根文件夹,因为它从SVN中检出单个项目.

我的问题是:我错过了什么,或者是否真的不可能以类似于我在命令行中执行的方式使用Eclipse?如果确实不可能,那么其​​他人如何应对呢?每个人都使用命令行或TortoiseSVN等外部工具吗?

java eclipse svn merge

8
推荐指数
1
解决办法
6346
查看次数

简单的Java服务发现框架

我想在Java应用程序中发现运行期间接口的所有实现,并从用户可以添加到文件夹的JAR文件中动态加载这些类.它基本上是一个插件系统.

我找到了一些解决方案:

还有其他广泛使用的解决方案吗?

更新:不需要代码分离,OSGi现在似乎太复杂了我的简单需求.我还在这个问题的标题中添加了"简单"以澄清我的意图.

java service-discovery

8
推荐指数
1
解决办法
2822
查看次数

在专有软件中使用Glassfish库

我想在使用CDDL + GPLv2许可证的专有软件中使用Glassfish的某些部分.我被允许这样做吗?我没有修改这些库的代码中的任何内容,所以这是好的,还是我的软件,因为它使用这些库,仍然被认为是衍生作品,因此是一个很大的禁忌?

我的意思是,根据http://jaxb.java.net/,JAXB也在CDDL + GPLv2下,但我知道我可以在专有软件中自由使用它.这是因为CDDL + GPLv2实际上是允许的,还是在与JRE捆绑在一起时以不同的许可证分发?

java licensing glassfish java-metro-framework

7
推荐指数
1
解决办法
2247
查看次数

如何备份本地Mercurial存储库并使用rebase?

我的公司正在从Subversion迁移到Mercurial.其中一个原因是Hg我们希望能够更独立地工作.

我们期待使用变基作为我们从主存储库更新的主要方式,至少在开始时,将历史记录保持在一行,从而使从Subversion的过渡变得更容易.

现在,如果我们需要独立工作,我们有两个选择:在Subversion中创建一个分支,然后在那里提交(也就是合并地狱),或者根本不提交.对于Mercurial,我们希望能够继续在本地提交,并且经常进行反转,从而获得独立性,同时不受创建命名分支的管理成本.

这一切听起来都很酷,直到备份进入图片.使用Subversion很明显,如果有人没有提交,他们的工作就会丢失.但是没有提交很快变得不方便(没有历史,没有日志消息等),所以人们会一次又一次地提交.

使用Mercurial,可以继续进行提交和重新定位,而无需长时间推动,从而使更多的工作面临风险.所以出现了一个问题:如何在开发人员的机器上备份这些东西?

  • 一种解决方案是使用一些外部备份软件,但这听起来不是一个好主意.
  • 我们也可以一直推送到主回购(甚至可能自动?),但是这样就不可能使用变基,并且会导致很多主要的悬空头.
  • 我们可以推送备份回购,并尝试在主回购中只有一个头.这听起来很复杂.

有没有其他方法可以做到这一点?我想找到一个解决方案,让我们的开发人员在开始时使用他们的大部分Subversion知识.

mercurial

7
推荐指数
1
解决办法
444
查看次数

Mercurial中自动合并的安全性如何?

在Mercurial中,可以使用fetch扩展来模拟类似的东西svn update,即与传入的更改合并而不用查看它们.但即使你不使用hg fetch,你的大多数合并都将"奇迹般地"工作而不会导致冲突.这很好,但是相信Java代码的有效合并是多么安全?

是否有任何示例来说明为什么或何时应该(或不应该)信任这些合并?

merge mercurial

7
推荐指数
1
解决办法
2265
查看次数