作为扩展问题" 在Eclipse中调试时修改/查看静态变量 ",我希望能够在Eclipse中调试时修改静态变量.
例如,局部变量,我可以在Eclipse的"变量"视图中选择变量,并使用上下文菜单"更改值..."来更改值.
对于任意静态变量,这是不可能的,因为它们不会出现在"变量"视图中.
我尝试了什么:
所以,如果我有一个像布尔MyClass.disableAllBugs这样的静态变量,有没有办法在调试期间更改MyClass.disableAllBugs?
抛开:我意识到即使拥有公共可变静态字段(即可变全局变量)也是非常糟糕的风格.但是有些代码库有它,然后在调试时修改它有时很有用.
我在我的.war文件中添加了一个jax-ws-catalog.xml,以便在本地而不是远程解析schemaLocation.我跟着这个例子
Metro用户指南:2.10.使用本地打包的WSDL开发客户端应用程序
当我部署.war并使用soapUI来验证Web服务时,它会在尝试访问schemaLocation时遇到困难 http://somehost:8080/CMDB/schemas/common/1.0/CMDBCommonTypes.xsd
架构和wsdl都在Eclipse中验证(使用Eclipse的XML Catalog工具).(如果有帮助的话,我可以发布我的jax-ws-catalog.xml和相关的xsd和wsdl的内容.
谷歌搜索发现了许多其他问题,jax-ws-catalog.xml无法在Metro堆栈中运行.
有没有人在Metro中使用jax-ws-catalog.xml?
我们正在使用Maven来构建Web应用程序.
现在我们希望我们的CI(连续集成)服务器自动将WAR部署到用作alpha测试服务器的远程Tomcat实例.
我们使用cargo-maven-plugin来做到这一点,它工作正常.
但是,现在我们还想在部署后对远程Tomcat进行冒烟测试,以确保(重新)部署干净利落.
我们有测试(使用HtmlUnit),但是我们在将它们集成到Maven时遇到了麻烦.到目前为止,我们直接开始运货(使用mvn cargo:redeploy).这很有效 - 然而,我们找不到事后进行烟雾测试的方法.
那么我们如何才能将maven设置为
在maven构建生命周期中似乎没有这个地方.我们需要定义自定义构建生命周期吗?我们能以某种方式绑定到默认的生命周期阶段吗?哪一个?
使用gettext,消息的原始(通常是英语)文本用作翻译的消息密钥("msgid").这意味着每次原始文本更改时,必须在所有.po文件中更新msgid.
对于文本的真实更改,这显然是不可避免的,因为翻译者必须更新翻译.
但是,如果原件的更改没有改变其含义,则重新翻译是超级的(例如,标点变化,空白变化或拼写错误的纠正).
有没有办法在这种情况下自动更新.po文件?
我试图使用xgettext和msgmerge(打开模糊匹配),但模糊匹配有时会失败,加上这会产生许多丑陋的"#,模糊"标志.
注意:有一个类似的问题: 如何在对大文本值进行小编辑时有效地使用gettext PO文件 但是,这是关于大字符串,因此是一个更具体的问题.
PrimeFaces的CommandButton允许指定一个图标:
<p:commandButton value="Press me" icon="redBall" ... />
Run Code Online (Sandbox Code Playgroud)
但是,我需要根据JSF托管bean属性启用/禁用图标.
我试过了
<p:commandButton value="Press me" icon="#{bean.iconClass}" ... />
Run Code Online (Sandbox Code Playgroud)
这适用于选择不同的图标,但不允许完全禁用图标(即获得相同的渲染,如没有icon=属性).我可以返回一个空字符串getIconClass(),但PrimeFaces仍然会<span>为按钮内的图标渲染额外内容,而CSS样式会使该范围显示为默认图标.
有没有办法告诉PrimeFaces"我根本不想要图标"(除了icon=完全取出属性)?
要在Spring XML配置文件中使用Spring Integration,我需要声明si命名空间,并提供XML Schema的模式位置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:int="http://www.springframework.org/schema/integration"
xsi:schemaLocation="http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
Run Code Online (Sandbox Code Playgroud)
但是,根据文档,有两种模式可供选择:
从现在开始,用户必须始终声明最新的XML架构(当前版本为2.1).或者,他们可以使用无版本模式.通常,最好的选择是使用无版本的命名空间,因为它们将自动使用最新的Spring Integration版本.
来自:http://static.springsource.org/spring-integration/reference/htmlsingle/#2.1-schema-updated
为什么会出现两种spring-integration.xsd及spring-integration-2.1.xsd?我检查了两个,后者几乎是前者的三倍.
那么为什么文档说使用无版本模式更好?使用其中一个或另一个会有什么后果?或者是它只是一个错误,spring-integration.xsd和spring-integration-2.1.xsd有什么不同?
git branch -d mybranch如果该分支未完全合并,Git将默认拒绝删除本地分支(via ).
但是,如果我删除了远程分支git push origin --delete mybranch,则如果分支未完全合并,则不会发出任何警告.
这看起来相当危险:自从我上次获取分支以来,其他人可能已将更新推送到分支,因此意外删除未合并分支似乎更可能是远程分支而不是本地分支.
那么为什么git不会警告我是否删除了一个远程未合并分支?有没有办法让它警告或否认删除?
注意:我意识到理想情况下我应该git pull删除它之前的分支,并确保它完全合并.但是,每个人都会犯错误,我希望有一个安全网.
关于可选依赖项的机制如何在Maven中工作,我有点困惑.似乎可选的依赖项仅在直接指定时才起作用,而不是通过依赖项管理.
我创建了三个测试项目p1-p3,带有依赖项:
如果我在<dependencies>元素中声明依赖项是可选的,则按预期工作.p2的POM:
<dependencies>
<dependency>
<groupId>testgroup</groupId>
<artifactId>p1</artifactId>
<version>1.0-SNAPSHOT</version>
<optional>true</optional>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
结果:p3的构建拉入p2,但不是 p1.
但是,如果我如果我在<dependencyManagement>元素中声明一个依赖项是可选的,那么它似乎被忽略了.p2的POM:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>testgroup</groupId>
<artifactId>p1</artifactId>
<version>1.0-SNAPSHOT</version>
<optional>true</optional>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>testgroup</groupId>
<artifactId>p1</artifactId>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
结果:p3的构建拉入p2 和 p1.
这是预期的行为吗?我无法在任何地方找到这个记录.
笔记:
mvn dependency:tree和列出的类路径mvn -X(具有相同的结果).<dependencyManagement>元素放入p1的POM中,而不是p2.结果是相同的,即<optional>没有效果.我有以下问题:
我有两个分支 Branch1 和 Branch2 的一些共同提交 A。
在 Branch1 中我更改了文件 ( BAD_folder/somefile.txt)。更改已推送到服务器。在 Branch2 中,我重命名BAD_folder为folder并做了一些更改somefile.txt。我想将 Branch1 与 Branch2 合并,但文件中出现合并冲突BAD_folder/somefile.txt。
我该如何解决这个问题?
git git-merge branching-and-merging merge-conflict-resolution
我面临一个类似于Invalidating JPA EntityManager session 中描述的问题:
问题:获取陈旧数据
我们正在 SQL 数据库上运行 JPQL 查询,该数据库也由不同的应用程序同时更改。我们使用的是在Tomcat下运行的JSF+Spring+EclipseLink。
执行 JPQL 查询的类是一个单例 Spring bean,并使用注入的EntityManager:
@Component
public class DataRepository{
@PersistenceContext
private EntityManager entityManager;
public List<MyDTO> getStuff(long id) {
String jpqlQuery ="SELECT new MyDTO([...])";
TypedQuery<MyDTO> query = entityManager.createQuery(jpqlQuery,MyDTO.class);
return query.getResultList();
}
[...]
Run Code Online (Sandbox Code Playgroud)
(代码释义)。
问题是这段代码看不到直接对数据库执行的更改。这些更改仅在 Tomcat 实例重新启动时才可见。
我们尝试过的
我们假设此行为是由与 关联的一级缓存引起的EntityManager,如链接问题中所述。我们找到了两个解决方案:
entityManager.clear()调用之前createQuery(这是建议的链接的问题)EntityManagerFactor(使用@PersistenceUnit),然后EntityManager为每个查询创建并关闭一个新的两种解决方案都能满足我们的需求——我们获得了新的数据。
问题:
entityManager.clear()注入的 EntityManager,或者这是否会以某种方式影响也使用注入的 EntityManager 的其他代码(在相同或不同的类中)?EntityManager?我认为这一定是一个相当普遍的问题(因为它发生在多个应用程序共享一个数据库时),所以我认为必须有一个简单的解决方案......