小编Jak*_*ke 的帖子

Maven:NoClassDefFoundError:org.springframework.test.context.junit4.SpringJUnit4ClassRunner

我有一个类路径问题.

  • 背景:构建和运行Spring WebApp.
  • 最初它是一个大项目,包括dao/service/controller/webapp.
  • 我刚刚将我的项目分解为maven模块项目,主要是从dao和服务层拆分webapp.
  • 现在我的webapp junit测试没有运行.
  • junit代码没有改变,我认为依赖关系没有改变(尽管转移了).
  • Spring-test在我的本地存储库中.
  • Spring-test在我的单元测试运行时类路径中(使用mvn debug logging来检查)
  • 我没有其他类路径问题.所有dao模块测试运行正常

但是,我明白了

java.lang.NoClassDefFoundError: Could not initialize class
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.
Run Code Online (Sandbox Code Playgroud)

我将发布我的父母和孩子pom.xml.如果有人有任何建议,我将非常感激.

父Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>jake</groupId>


    <artifactId>prototype3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>


    <modules>
        <module>prototype3.model</module>
        <module>prototype3.service</module>
        <module>prototype3.testadmin.webapp</module>
    </modules>

    <properties>
        <spring.version>4.1.6.RELEASE</spring.version>
        <thymeleaf.version>2.1.4.RELEASE</thymeleaf.version>
        <webflow.version>2.4.0.RELEASE</webflow.version>
        <internalrepo.dir>C:\Users\jake\_servers\internalRepository</internalrepo.dir>
    </properties>


    <distributionManagement>
        <repository>
            <id>internal.repo</id>
            <name>Temporary Staging Repository</name>
            <url>file://${internalrepo.dir}</url>
        </repository>
    </distributionManagement>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
            </dependency>


            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId> …
Run Code Online (Sandbox Code Playgroud)

spring-test maven

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

用Thymeleaf显示Base64String图像

我将jpg图像存储在数据库中(作为字节数组).我想避免在显示在网页上之前删除文件系统.

单元测试表明数据库存储和检索工作没有损坏.可以从数据库中提取Fies并将其转换回jpg文件

图像已转换为bytearray并使用以下代码存储在数据库中:

public static byte[] getImageAsBytes(BufferedImage buffer) throws IOException
{
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(buffer, "jpg", baos);
    baos.flush();
    byte[] imageInByte = baos.toByteArray();
    baos.close();
    return imageInByte;

}
Run Code Online (Sandbox Code Playgroud)

我有一个ViewWrapperMediaImage类,它包含从数据库中检索的字节数组.该类还有一个将bytearray转换为base64 String的方法.

package jake.prototype2.controller.viewwrapper;

import org.apache.commons.codec.binary.Base64;

import jake.prototype2.model.assessment.MediaImage;
import jake.prototype2.model.assessment.TestStructureException;
import jake.prototype2.model.structure.InterfacePersistenceBean;

public class ViewWrapperMediaImageCreate extends ViewWrapperTestContentElementCreate
{

private byte[] image;

protected String mediaFileName;

private static final long serialVersionUID = 4181515305837289526L;

public ViewWrapperMediaImageCreate(InterfacePersistenceBean persistenceBean) throws TestStructureException
{
    ....
    }
}

public byte[] getImage()
{
    return image;
}

public String generateBase64Image()
{
    return …
Run Code Online (Sandbox Code Playgroud)

apache-commons-codec thymeleaf

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

SparkSession:ActiveSession与DefaultSession

根据API文档:

getActiveSession()返回构建器返回的当前线程的活动SparkSession。

getDefaultSession()返回构建器返回的默认SparkSession。

我(很可能是错误地)getActiveSession用来在多个线程中检索SparkSessionSparkContext在某些函数中。有时未定义activeSession(很可能是因为线程刚刚启动)。

有人可以解释两者之间的区别,还是API文档足够自解释?

另外,我当会用getActiveSession,如果

  1. 在99%的应用中,只有一个会话,

  2. getDefaultSession 应该返回该会话

apache-spark

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

sbt程序集:重复数据删除module-info.class

组装uber jar时出现以下错误:

java.lang.RuntimeException:重复数据删除:在以下文件中发现了不同的文件内容:[错误] /Users/jake.stone/.ivy2/cache/org.bouncycastle/bcprov-jdk15on/jars/bcprov-jdk15on-1.61.jar:module -info.class [错误] /Users/jake.stone/.ivy2/cache/javax.xml.bind/jaxb-api/jars/jaxb-api-2.3.1.jar:module-info.class

我不了解Java技术,但是假设我不能简单地丢弃这些类之一。

有人可以告诉我我可以用来安全地编译uber jar的mergeStrategy吗?

sbt sbt-assembly

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

Jenkins [Groovy] Annotation Grab 无法在沙箱中使用

遵循此处非常简洁的文档:\n https://www.jenkins.io/doc/book/pipeline/shared-libraries/#using-third-party-libraries

\n\n

我正在尝试使用 @Grab 从 Jenkins 访问第三方库。

\n\n

@Grab(group=\'org.jsoup\', module=\'jsoup\', version=\'1.13.1\')\n位于图书馆的 Groovy 类中。该库在 Jenkins/configure 中指定\n在全局管道库下

\n\n
\n

可共享库可供在此系统上运行的任何管道作业使用。\n 这些库将受到信任,这意味着它们运行时没有\n \xe2\x80\x9csandbox\xe2\x80\x9d 限制,并且可以使用 @Grab。

\n
\n\n

我没有使用库的默认分支,但我不确定这是否与我的问题相关。

\n\n

运行管道时,出现以下错误:

\n\n
\n

java.lang.SecurityException: 无法在沙箱中使用注释 Grab。\n 在\n org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.RejectASTTransformsCustomizer

\n
\n\n

任何提示将不胜感激

\n

groovy jenkins

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

Kibana {"statusCode":403,"error":"Forbidden","message":"Forbidden"}

我刚刚在新安装的 ES 堆栈上设置了身份验证。我跟着:

https://www.elastic.co/guide/en/elastic-stack-overview/current/get-started-enable-security.html

我尝试以用户 'kibana' 登录 kibana

我遇到了 {"statusCode":403,"error":"Forbidden","message":"Forbidden"}

elasticsearch kibana

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

Scala对象和线程安全

我是Scala的新手.

我试图弄清楚如何使用Scala对象(也称为单例)中的函数来确保线程安全

从我到目前为止所读到的内容来看,我似乎应该保持对函数范围(或下面)的可见性,并尽可能使用不可变变量.但是,我没有看到违反线程安全的例子,所以我不确定应该采取什么其他预防措施.

有人能指出我对这个问题的一个很好的讨论,最好举例说明线程安全被违反的地方吗?

concurrency scala thread-safety

4
推荐指数
1
解决办法
3699
查看次数

类型安全配置:作为地图获取

googlesheets{
 dmkb_sheet = "1xEC8CPlKn654321wcoS_JB12345cPPiaA0M"
 other_sheet = "123isS0M30TH3R1D"
}
Run Code Online (Sandbox Code Playgroud)

我想使用类似的东西myConfig.getAsMap("googlesheets")并将两个嵌套条目作为地图获取。不存在这样的方法。那么将两个嵌套条目加载为 Map 的最简单方法是什么?

scala typesafe

4
推荐指数
2
解决办法
4885
查看次数

Spring Web Flow和Alternatives

我正在使用Spring MVC和hibernate构建一个Web应用程序.我正在努力扩大范围.例如,在同一界面上创建父级和子级需要在创建第一个子级后重置子bean.Spring MVC不允许从会话范围中删除bean.同时,跨越多个请求范围转移儿童是不切实际的.我需要一个会话范围.

我现在将Spring Web Flow视为一种解决方案.但是,它的文档很少,似乎完全依赖于xml配置.这两个功能似乎都表明它是一个较旧的,可能不太受支持的项目.

任何人都可以建议我是否应该花时间学习Spring Web Flow,或者建议与Spring MVC相关的替代解决方案.

spring-mvc spring-webflow

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

Hibernate FetchMode SELECT 与 JOIN

我有以下课程:

   @Entity
public class TestContentElementResponse
{

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    protected Long id;



    @OneToMany(mappedBy = "testContentElementResponse", cascade = CascadeType.ALL, orphanRemoval = false)
    private Set<ResponseAttribute> associatedResponseAttributes = new HashSet<ResponseAttribute>();


    @ManyToOne
    @JoinColumn(name = "userfulltestId", referencedColumnName = "id", nullable = false)
    private UserFullTest userFullTest;

    @ManyToOne
    @JoinColumn(name = "testContentElementId", referencedColumnName = "id", nullable = false)
    private TestContentElement testContentElement;



    @OneToOne(cascade = CascadeType.ALL)
    private TestContentElementScore testContentElementScore;

    @ManyToOne
    @JoinColumn(name = "userId", referencedColumnName = "id", nullable = false)
    private User user;
Run Code Online (Sandbox Code Playgroud)

TestContentElementResponse.class 表示测试中的一个用户响应。一项测试可以包含 30 个问题,因此每个用户有 30 个回答。

现在,我想为一个用户调用所有 …

hibernate

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