小编Rom*_*las的帖子

<h:messages>在JSF中做了什么?

我正在学习JSF并遇到过这样的问题:

<h:messages layout="table"></h:messages>
Run Code Online (Sandbox Code Playgroud)

在示例应用程序中?

我不确定这条线是做什么的?从代码中删除行时我没有错误,并且能够运行它并获得相同的输出?

jsf message

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

IllegalArgumentException:com.sun.xml.internal.messaging.saaj.soap.LocalStrings!= com.sun.xml.messaging.saaj.soap.LocalStrings

在我的web应用程序中,我正在联系Web服务(使用JAX-WS),但是我收到以下错误:

java.lang.ExceptionInInitializerError
    at com.sun.xml.ws.message.AttachmentUnmarshallerImpl.<clinit>(AttachmentUnmarshallerImpl.java:55)
    at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:500)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:242)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:210)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:103)
        ...
Caused by: java.lang.IllegalArgumentException: com.sun.xml.internal.messaging.saaj.soap.LocalStrings != com.sun.xml.messaging.saaj.soap.LocalStrings
    at java.util.logging.Logger.getLogger(Logger.java:314)
    at com.sun.xml.messaging.saaj.soap.AttachmentPartImpl.<clinit>(AttachmentPartImpl.java:71)
    ... 189 more
Run Code Online (Sandbox Code Playgroud)

当我在Eclipse中运行我的应用程序时,这发生在我的机器上...

这个错误的根源是什么?

我怀疑这个Oracle Java错误,但我在Tomcat 5.5和Java 1.6.0_18中运行我的Web应用程序,如下所示System.properties:

java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files\Java\jdk1.6.0_18\jre\bin
java.vm.version = 16.0-b13
java.runtime.version = 1.6.0_18-b07
java.version = 1.6.0_18
Run Code Online (Sandbox Code Playgroud)

java web-services jax-ws

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

为什么我的Sonar Jenkins工作永远不会变得不稳定,即使测试失败?

我每天晚上都有詹金斯的工作.在此构建期间执行的任务是:编译,单元测试,集成测试(只有JUnit测试比执行的"实际单元测试"更长),以及声纳质量分析.

当测试失败时,该作业被视为成功,因此,不会发送任何电子邮件来通知此失败.

使用的Maven命令是mvn clean install sonar:sonar.删除install目标不会改变任何事情.

这有什么问题?

有没有办法在只有一个Jenkins作业的情况下获得预期的行为(即在测试失败时具有不稳定的构建),或者我应该创建两个作业,一个用于整个"Java部分"(编译,单元测试和集成测试) ,一个用于声纳分析?

我们使用的是Maven 2.0.9,Java 1.6,Sonar 2.8,Jenkins 1.413.

unit-testing maven jenkins sonarqube

6
推荐指数
1
解决办法
3802
查看次数

如何逃脱{{在Octopress的降价?

我正在使用Octopress进行博客,我想发布以下代码片段(它是Mustache JS语法):

```
<ul id="beers-list">
    {{#beers}}
        <li>{{name}} - {{color}} - {{alcohol}}%</li>
    {{/beers}}
</ul>
```
Run Code Online (Sandbox Code Playgroud)

不幸的是,渲染时,一切都{{...}}消失了,我在网站上看到以下内容:

<ul id="beers-list">

        <li> -  - %</li>

</ul>
Run Code Online (Sandbox Code Playgroud)

我没能逃脱{{(即使有\{{,{\{或类似的东西.有没有办法逃避这些字符?

谢谢.

我不确定SO是否是这个问题的更好网站

markdown octopress

6
推荐指数
1
解决办法
791
查看次数

使用Ant模拟Maven2过滤机制

我有一个属性文件,比如my-file.properties.除此之外,我的应用程序有几个配置文件,其中必须填写一些有关my-file.properties文件内容的信息.

my-file.properties:

application.version=1.0
application.build=42
user.name=foo
user.password=bar
Run Code Online (Sandbox Code Playgroud)

因此,在我的配置文件中,我会找到一些${application.version},${user.name}将替换为它们在属性文件中的值...

当我使用Maven2构建我的应用程序时,我只需要指定属性文件并说我的资源文件被过滤(如此问题的答案).但是,我需要通过仅使用Ant来实现相同的功能.

我已经看到Ant提供了一个过滤任务.但是,它迫使我在配置文件中使用模式@property.key@(即@user.name@代替#{user.name}),这在我的情况下是不可接受的.

我怎样才能解决我的问题?

ant maven-2 filter

5
推荐指数
1
解决办法
4082
查看次数

如何在Eclipse项目中构建期间过滤资源?

我有一个使用多个配置文件的应用程序(这里只考虑appli.properties).这些文件包含几个取决于环境的值.我们可以找到一些信息,例如:

server.port=${envi.server.port}
Run Code Online (Sandbox Code Playgroud)

另一方面,我有一组属性文件,每个环境一个(dev.properties,homolo.properties等).它们包含配置文件中某些属性的值.我们可以在这里找到这种属性:

envi.server.port=4242
Run Code Online (Sandbox Code Playgroud)

我的构建由Maven2处理.一切都很好.

但是,我现在需要将我的项目导入Eclipse.我主要关心的是配置文件过滤.事实上,如果我不为我的项目我的Eclipse的参数做任何修改(一后MVN日食:日食命令),那么我所有的配置文件将保持属性键(即${envi.server.port}),而不是它们的值.有了这样的配置文件,我的应用程序将无法在Eclipse中运行...

所以我试了两个解决方案:

  • 一个完整的Maven解决方案,使用m2eclipse插件.我在项目配置中添加了Maven Builder,然后,每次构建时,都会对文件进行过滤.
  • Ant(仅在Eclipse中使用).我几乎没有定义一个模拟Ant中文件的Maven2过滤的任务.此任务仅专用于过滤,无需编译.

这两种解决方案的常见问题是,每次操作都会进行过滤(基本上可以节省Java类版本),然后需要时间.然而,第二种解决方案比第一种解决方案(超过10秒)更快(3秒).

您如何看待我的方法?你会怎样以更好的方式做到这一点?

eclipse ant configuration maven-2 filtering

5
推荐指数
1
解决办法
900
查看次数

将 JUnit RunListener 与 Maven 结合使用

我想RunListener在单元测试中使用我自己的。所以我创建了以下类:

public class MyRunListener extends RunListener {

    public MyRunListener() {
        System.out.println("Creation of Run Listener...");
    }

    @Override
    public void testStarted(Description description) throws Exception {
        System.out.println("A Test is going to start");
    }

}
Run Code Online (Sandbox Code Playgroud)

现在,在我的pom.xml

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <properties>
                    <property>
                        <name>listener</name>
                        <value>my.company.MyRunListener</value>
                    </property>
                </properties>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

现在,当我mvn test在项目中运行时,输出如下:

Creation of Run Listener...

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running xxx.SomeNewTests
        Test New #1
        Test New #2
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, …
Run Code Online (Sandbox Code Playgroud)

junit surefire maven

5
推荐指数
1
解决办法
9195
查看次数

如何从JDBC检索序列元数据?

我试图从Java代码(使用基本JDBC)检索我的Oracle DB的不同类型的元数据.例如,如果我想检索带_FOO后缀的表列表,我可以执行以下操作:

Connection connection = dataSource.getConnection();
DatabaseMetaData meta = connection.getMetaData();
ResultSet tables = meta.getTables(connection.getCatalog(), null, "%_FOO", new String[] { "TABLE" });
// Iterate on the ResultSet to get information on tables...
Run Code Online (Sandbox Code Playgroud)

现在,我想从我的数据库中检索所有序列(例如所有序列命名S_xxx_FOO).

我怎么会这样做,因为我没有看到DatabaseMetaData与序列相关的任何内容?

我是否必须运行查询select * from user_sequences

java jdbc sequence database-metadata

5
推荐指数
2
解决办法
5327
查看次数

有没有办法强制Maven Surefire或JUnit在从Test Suite执行时指出失败的测试类的名称?

我的问题:当从Test Suite执行此类时,是否有办法强制Maven Surefire(或JUnit?)指示失败的测试类的名称?

现在,漫长的故事.

想象一下,你有一个JUnit测试套件,可以启动两个JUnit测试.

测试类的示例:

public class TestOne {

    @Test
    public void foo() {
        assertTrue(false);
    }

    @Test
    public void bar() {
        assertTrue(false);
    }

}

@UnitTest
public class TestTwo {

    @Test
    public void foo() {
        assertFalse(true);
    }

}
Run Code Online (Sandbox Code Playgroud)

和测试套件:

@RunWith(Suite.class)
@SuiteClasses(value = { TestOne.class, TestTwo.class })
public class MySuite {

}
Run Code Online (Sandbox Code Playgroud)

现在,如果我运行测试套件(mvn test -Dtest=MySuite),我将有以下错误:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running caf.opm.preclosing.junit.MySuite
Tests run: 3, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec …
Run Code Online (Sandbox Code Playgroud)

java junit test-suite surefire maven

5
推荐指数
1
解决办法
1763
查看次数

为什么 attributeChangedCallback 被调用两次?

我正在使用自定义元素 polyfill构建一个简单的自定义元素。我已经注册了一个要“监视”的属性(使用observedAttributes()),当我更改此属性的值时,该函数会attributeChangedCallback被调用两次。

这是 HTML 代码:

<my-component id="compo" foo="bar"></my-component>

<button id="myBtn">Change attribute value</button>
Run Code Online (Sandbox Code Playgroud)

这是我的组件定义:

class MyComponent extends HTMLElement {
  constructor() {
    super();
  }
  
  static get observedAttributes() {
    return ['foo'];
  }
  
  attributeChangedCallback(attrName, oldVal, newVal) {
    console.log('[my component] attribute', attrName, 'changed from', oldVal, 'to', newVal);
  }
}

window.customElements.define('my-component', MyComponent);

// Change value of the component attribute
$('#myBtn').click(() => $('#compo').attr('foo', 'baz'));
Run Code Online (Sandbox Code Playgroud)

在该页面上,当我单击按钮时,我在以下日志中有以下日志console.log

[我的组件] 属性 foo 从 bar 更改为 baz

[我的组件] 属性 foo 从 bar …

html javascript web-component custom-element

5
推荐指数
1
解决办法
1287
查看次数