小编olk*_*oza的帖子

在testclass中使用JUnit临时文件夹时出现"尚未创建文件夹"错误

我收到错误"尚未创建临时文件夹",该错误来自方法IllegalStateException抛出TemporaryFolder.getRoot().看起来它没有初始化,但我的研究表明,在setUp() - 方法中初始化临时文件夹时通常就是这种情况.但是@Rule像我一样使用它应该在我看来是有用的.有任何想法吗?

考试班

public class FileReaderTest extends TestCase {

  @Rule
  public TemporaryFolder folder = new TemporaryFolder();

  public FileReaderTest(String testName) {
    super(testName);
  }

  @Override
  protected void setUp() throws Exception {
    super.setUp();
  }

  @Override
  protected void tearDown() throws Exception {
    super.tearDown();
  }

  public void testCSVWriterAndReader() throws Exception{
    testWriterAndReader(new CSVFileWriter(), new CSVFileReader());
  }

  private void testWriterAndReader(FileWriteService writer, FileReader reader) throws Exception {
    folder = new TemporaryFolder();
    File tempFile = folder.newFile("test.csv");
    DataSet initializedData = createMockData();
    writer.writeDataSetToFile(initializedData, tempFile.getPath()); …
Run Code Online (Sandbox Code Playgroud)

java junit temporary-directory

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

在Oracle DB上执行PreparedStatement以插入Blob时出现NullPointerException

有没有人知道我在这里做错了什么?我试图将一个blob(包含一个重要的pdf)插入一个oracle db以及一些其他信息.我正在使用PreparedStatement

码:

public void saveReportErgebnis(int reportId, Date erzeugung, int archiv,
        Blob pdf, String kommentar) throws Exception {

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] tmp = new byte[(int) pdf.length()];
    if(kommentar == null){
        kommentar = "";
    }

    SimpleDateFormat erstellungSdf = new SimpleDateFormat(
            "yyyy-MM-dd HH:mm:ss");

    try {
    pdf.getBinaryStream().read(tmp);

    oracle.sql.BLOB oracleBlob = new oracle.sql.BLOB((OracleConnection) getConnection(), tmp);
    PreparedStatement prepStmt = getRTTDBHandler()
            .createPreparedStatement(
                    "INSERT INTO reportergebnis(report_id, erzeugung, archiv, pdf, kommentar) VALUES (?,?,?,?,?)");
    System.out.println("debug 2 oracle");
        prepStmt.setInt(1, reportId);
        prepStmt.setString(2, formatDateString(erstellungSdf.format(erzeugung)));
        prepStmt.setInt(3, archiv);
        prepStmt.setBlob(4, oracleBlob);
        prepStmt.setString(5, kommentar); …
Run Code Online (Sandbox Code Playgroud)

java oracle blob prepared-statement sql-insert

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

如何在Mysql数据库中建模java.time.duration

我正在编写一个简单的应用程序来了解Java EE,我需要将一个实体保存到我的MySQL数据库中,其中包含一个java.time.duration.

存储它的最佳方法是什么?

java mysql java-ee

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

如何找出slf4j使用的是哪种实现

我正在使用slf4j,它正在记录日志,但是它并未使用logback,因为它应该这样做(因为logback(-test).xml中的更改不会影响日志记录行为。

This is my POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.goodgamestudios</groupId>
    <artifactId>Icosphere</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    <name>Icosphere Data Platform</name>
    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <version.arquillian_core>1.1.8.Final</version.arquillian_core>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.arquillian_core}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.0.13</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>com.mapr.hadoop</groupId>
            <artifactId>maprfs</artifactId>
            <version>4.0.2-mapr</version>
        </dependency>
        <dependency>
            <groupId>com.mapr.hadoop</groupId>
            <artifactId>maprfs-core</artifactId>
            <version>1.0.3-mapr-2.1.3.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId> …
Run Code Online (Sandbox Code Playgroud)

java logging slf4j pom.xml

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

使用c:foreach(JSP/JSTL)迭代ArrayList,Variable不起作用

我知道,我的问题有无数的例子,但是我经历了很多,无法弄清楚我的错误在哪里.

我正在迭代一个ArrayList(TestSzenario).TestSzenario类包含一个名为name的String Variable,带有正确的getter和setter.

这是我的代码:

<td><select name="selectSzenario" id="selectSzenario" size="1">
                <c:forEach items="<%=testszenario.getSzenariosForSummary() %>" var="szenario"> 
                    <option>${szenario.name}</option>
                </c:forEach></select></td></tr>
Run Code Online (Sandbox Code Playgroud)

我的问题是,变量不起作用.对于选择框中的每个选项,我都得到$ {szenario.name}.我正确地声明了JSTL-taglib,因为在完成后网站中有多个选项,我知道迭代正在运行.我还在HTML源代码中查看了foreach的解决方法.

HTML的输出:

        <tr><td>Szenario:</td>
        <td><select name="selectSzenario" id="selectSzenario" size="1">

                    <option>${szenario.name}</option>

                    <option>${szenario.name}</option>
                </select></td></tr>
Run Code Online (Sandbox Code Playgroud)

编辑回答1:谢谢,但我之前尝试过:

ArrayList<TestSzenario> szenarioList = testszenario.getSzenariosForSummary();
request.setAttribute("aList", szenarioList);
request.setAttribute("ts", testszenario);

<c:forEach items="${aList}" var="szenario">
<option>${szenario.name}</option>
</c:forEach></select></td></tr>

<c:forEach items="${ts.szenariosForSummary}" var="szenario">
<option>${szenario.name}</option>
</c:forEach></select></td></tr>
Run Code Online (Sandbox Code Playgroud)

但在任何一种情况下,它甚至都不会遍历List,导致只有1个选项(List包含2个元素).

foreach jsp loops jstl arraylist

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

如何在OpenLayers中将“标准”坐标转换为OSM坐标

我对OpenLayers还是很陌生,已经陷入了我的第一个问题。我正在尝试将“法线”坐标转换为我从Google Maps复制到OSM的坐标,以将地图中心居中。现在,据我所知,“正常”坐标系EPSG:4326和OSM是EPSG:3857或EPSG:900913,这是相同的。所以我的Javascript代码是:

map.setCenter(new OpenLayers.LonLat(53.537460, 9.953227).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:3857")), 5);
Run Code Online (Sandbox Code Playgroud)

但这集中在一个完全不同的位置。我想念什么?

javascript openlayers openstreetmap

3
推荐指数
1
解决办法
2152
查看次数

如何配置WildFly 8.2.0日志记录以在调试级别上显示应用程序

对于这个非常基本的问题我很抱歉,但是我花了很多时间研究它并且无法使它工作: - /我想要的:在INFO级别显示所有记录,但我的应用程序在DEBUG级别.到目前为止,我的设置和理解是:

在我的WildFly中,我使用slf4j进行logback.我没有在所有b/c中配置logback,这是在WildFly配置中完成的.这是我的pom:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.13</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.0.13</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是我的记录器配置:

<console-handler name="CONSOLE">
    <level name="DEBUG"/>
    <formatter>
        <named-formatter name="COLOR-PATTERN"/>
    </formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="server.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
    <level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
    <level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
    <level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
    <level name="WARN"/>
</logger>
<logger category="jacorb">
    <level name="WARN"/>
</logger>
<logger category="org.hibernate">
    <level name="INFO"/>
</logger>
<logger category="javax">
    <level name="INFO"/>
</logger>
<logger category="com.sample.application" use-parent-handlers="false">
    <level name="DEBUG"/>
    <handlers> …
Run Code Online (Sandbox Code Playgroud)

logging slf4j wildfly wildfly-8

3
推荐指数
1
解决办法
2663
查看次数