小编Rom*_*las的帖子

如何提供除工件之外的属性文件?

我正在使用Maven2来构建一个WAR项目.某些属性文件取决于发布的目标环境.

除了WAR之外,我想传递一个名为的文件datasource.xml.此文件已存在于我的项目目录中,但包含将在构建期间过滤的属性(即某些${foo.bar}).

换句话说,运行命令mvn clean install之后,我想在我的target/目录中看到两个文件,my-webapp.wardatasource.xml.

请注意,工件中datasource.xml 不得包含my-webapp.war!

我怎样才能做到这一点?

build-automation build-process maven-2

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

从JTextPane获取原始文本

在我的应用程序中,我使用a JTextPane来显示一些日志信息.由于我想高亮显示本文中的某些特定行(例如错误消息),因此我将其设置contentType为" text/html".这样,我可以格式化我的文本.

现在,我创建一个JButton,将其内容复制JTextPane到剪贴板中.这部分很简单,但我的问题是,当我打电话时myTextPane.getText(),我会得到HTML代码,例如:

<html>
  <head>

  </head>
  <body>
    blabla<br>
    <font color="#FFCC66"><b>foobar</b></font><br>
    blabla
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

而不是只获取原始内容:

blabla
foobar
blabla
Run Code Online (Sandbox Code Playgroud)

有没有办法只获取我JTextPane的纯文本内容?或者我是否需要自己将HTML转换为原始文本?

java swing jtextpane

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

运行脚本以使用HSQLDB创建表

我使用hsqldb来运行需要数据库访问的单元测试.

目前,当我想为特定测试创建表时,我有以下代码:

private void createTable() {
    PreparedStatement ps;
    try {
        ps = getConnection().prepareStatement("CREATE TABLE T_DATE (ID NUMERIC PRIMARY KEY, DATEID TIMESTAMP)");
        ps.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

getConnection()方法检索在Spring上下文中定义的DataSource :

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
    <property name="url" value="jdbc:hsqldb:mem:memoryDB"/>
    <property name="username" value="SA"/>
    <property name="password" value=""/>
</bean>
Run Code Online (Sandbox Code Playgroud)

现在,我想从SQL脚本创建我的表(当然,这个脚本将包含多个表创建):

CREATE TABLE T_DATE_FOO (ID NUMERIC PRIMARY KEY, DATEID TIMESTAMP);
CREATE TABLE T_DATE_BAR (ID NUMERIC PRIMARY KEY, DATEID TIMESTAMP);
...
Run Code Online (Sandbox Code Playgroud)

我在HSQLDB文档中看到我可以让他在启动时运行脚本.但是,它不符合我的要求,因为我想在运行时运行脚本.

当然,我自己可以读取文件,对于每个SQL语句,我都运行一个ps.executeUpdate()命令,但我不想使用这种解决方案(除非没有其他解决方案). …

java sql hsqldb

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

如何防止在hudson上的maven存储库中覆盖已发布的工件(非快照版本)

问题描述

考虑maven正在哈德森上使用的情况.

现在有人拿出结帐项目,修改了一些文件,但意外地使用了相同的工件ID和版本号(非快照).

然后他/她在hudson上构建这个项目并做了maven安装.修改后的工件现在是hudson .m2.任何其他依赖它的项目都将使用修改后的工件进行构建.如果编译没有失败,没有人发现这一点.即使正确的工件驻留在中央存储库中,也永远不会使用它,因为当hudson开始构建时,从.m2中拾取已修改的工件.

所以我正在寻找一种方法来防止这种意外的人为错误.

  1. 无论如何要在hudson上撤销maven install对非快照版本(已发布的工件)的权限?
  2. 有什么方法可以比较hudson中的.m2和远程中央存储库中的校验和,以便校验和失败可以生成警告或失败构建?

我已经检查过没有办法强制从中央存储库更新非快照版本,因为它们是不可变的.

清除中央存储库或为hudson上的每个作业使用单独的存储库将分别导致构建时间和磁盘空间的增加.

任何帮助,将不胜感激.

hudson maven

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

用JavaScript编写Facebook应用程序

作为一个爱好我用JavaScript写了一个游戏并且很想将它发布到Facebook,你能用纯HTML和JavaScript编写一个Facebook应用程序吗?

javascript facebook

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

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万
查看次数

如何在计算过程中存储数百万的Double?

我的引擎正在执行1,000,000次X交易模拟.在每次模拟期间,对于每笔交易,可以验证特定条件.在这种情况下,我将值(即a double)存储到数组中.每笔交易都有自己的价值清单(即这些价值从一笔交易到另一笔交易都是独立的).

在所有模拟结束时,对于每笔交易,我在他身上运行一个算法List<Double>来获得一些输出.不幸的是,这个算法需要这些值的完整列表,因此,我无法修改我的算法来"即时"计算输出,即在模拟期间.

在"正常"条件下(即X,低,并且验证条件的时间少于10%),计算正确结束,即使可以增强.

当我有很多交易(例如X = 30)并且我的几乎所有模拟都验证了我的特定条件(比如90%的模拟)时,我的问题就出现了.所以只是存储值,我需要900,000 * 30 * 64bits内存(大约216Mb).我未来的要求之一是能够运行5,000,000次模拟......

所以我无法继续目前存储值的方式.目前,我使用了一个"简单"结构Map<String, List<Double>>,其中键是元素的ID,以及List<Double>值列表.

所以我的问题是如何增强我的应用程序的这个特定部分,以减少模拟过程中的内存使用量?

另外一个重要的注意事项是,对于最终的计算,我必须订购List<Double>(或我将要使用的任何结构).因此,如果前一个问题的解决方案也提供了一个订购新插入元素的结构(例如a ),那将非常棒!SortedMap

我使用的是Java 1.6.


编辑1

我的引擎确实正在执行一些财务计算,在我的情况下,所有交易都是相关的.这意味着我无法在第一笔交易中运行计算,获得输出,清理List<Double>,然后转移到第二笔交易,依此类推.

当然,作为临时解决方案,我们将增加分配给引擎的内存,但这不是我期望的解决方案;)


编辑2

关于算法本身.我不能在这里给出确切的算法,但这里有一些提示:

我们必须在分类上工作List<Double>.然后我将计算一个索引(根据给定的参数和List自身的大小计算).然后,我最终返回index-th此List 的值.

public static double algo(double input, List<Double> sortedList) {
    if (someSpecificCases) {
        return 0;
    }
    // Calculate the index value, using input and also size of …
Run Code Online (Sandbox Code Playgroud)

java performance data-structures

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

Eclipse WTP在Tomcat服务器中部署依赖项的奇怪行为

我的Eclipse WTP在Tomcat部署过程中有一个奇怪的行为.我使用Eclipse 3.7(Indigo),WTP 3.3,没有 m2eclipse插件,Java 1.6,Tomcat 5.5.

我的应用程序是一个Web应用程序,其他一些项目作为依赖项,以及一些第三方依赖项.我的项目由Maven管理,当我们使用这个工具构建应用程序时,一切正常.

要使用Eclipse处理我的项目,我运行mvn eclipse:clean eclipse:eclipse然后,我在IDE中导入我的项目.

当我想在Tomcat 5.5服务器上部署此Web应用程序时(这个服务器由Eclipse管理),我的问题出现了.当我创建一个新的Tomcat服务器,并在其中部署my -project-portal应用程序时,它只添加了my-project-xxx依赖项,以及很少的第三方依赖项(大约有9个定义的).在我的一位同事桌面上(他正在使用Eclipse 3.5),根本没有部署第三方依赖,只有my-project-xxx JAR ......

但是,当我查看Web-app项目属性,在Java Build Path> Libraries或"Deployment Assembly"中时,依赖项列表是正确和完整的.

笔记

我使用较旧的Eclipse(3.3,使用WTP 3.1)进行了一些测试,但我没有遇到任何部署问题.但是,这个WTP仍在使用"Java EE Modules Dependencies",而不是最新的WTP版本.

到目前为止,我们使用了一个自定义的Maven插件,然后将mvn eclipse:eclipse所有依赖项(包括传递的)复制到其中my-webapp-project/WebContent/WEB-INF/lib.这样做,Eclipse自动部署了这些依赖项的内容,因此,我们获得了Tomcat服务器中的所有依赖项.

问题

  • 我的流程出了什么问题?
  • 我真的需要复制WEB-INF/lib目录中的所有依赖项吗?
  • 当我们想要使用Eclipse在Tomcat服务器上部署Web应用程序时,正常的过程是什么?

以下是运行后Eclipse配置文件的摘录mvn eclipse:eclipse:

的.classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/main/java"/>
    <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
    <classpathentry kind="var" path="M2_REPO/asm/asm/2.2.2/asm-2.2.2.jar" sourcepath="M2_REPO/asm/asm/2.2.2/asm-2.2.2-sources.jar"/>
    <classpathentry kind="src" …
Run Code Online (Sandbox Code Playgroud)

eclipse tomcat eclipse-wtp maven

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

为什么我的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
查看次数