小编Rom*_*man的帖子

如何防止Dockerfile缓存git clone

我有一个Dockerfile试图将Web应用程序打包并部署到容器中.在Docker镜像构建期间,应用程序的代码从git存储库中获取.这是Dockerfile快照:

........
RUN git clone --depth=1 git-repository-url $GIT_HOME/
RUN mvn package -Dmaven.test.skip
........
Run Code Online (Sandbox Code Playgroud)

我希望docker不要缓存步骤,RUN git clone --depth=1 git-repository-url $GIT_HOME/以便可以在Docker镜像构建上反映存储库上正在进行的更新.是否有可能实现这一目标?

git docker dockerfile

32
推荐指数
5
解决办法
9240
查看次数

Jersey和Java 8(Lambda表达式)

我使用Jersey版本1.18.1(com.sun.jersey),Spring和Java 8.如果我在REST服务中放置Java 8 Lambda表达式,它会崩溃.如果我删除lambda表达式,它的工作原理.

@Service
@Path("/hello")
public class Hello {

    @GET
    public String hello() {
        new ArrayList<String>().stream().filter((str) -> str.length() > 0);
        return "hello";
    }

}
Run Code Online (Sandbox Code Playgroud)

我使用com.sun.jersey(1.18.1版本).

完整的堆栈跟踪:

SEVERE: Allocate exception for servlet jersey-serlvet java.lang.ArrayIndexOutOfBoundsException: 52264
    at jersey.repackaged.org.objectweb.asm.ClassReader.readClass(ClassReader.java:1976)
    at jersey.repackaged.org.objectweb.asm.ClassReader.accept(ClassReader.java:464)
    at jersey.repackaged.org.objectweb.asm.ClassReader.accept(ClassReader.java:420)
    at com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:138)
    at com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner$1.f(FileSchemeScanner.java:86)
    at com.sun.jersey.core.util.Closing.f(Closing.java:71)
Run Code Online (Sandbox Code Playgroud)

请告诉我如何解决它.

java rest lambda jersey java-8

10
推荐指数
2
解决办法
5386
查看次数

java.sql.SQLException:没有为jdbc找到合适的驱动程序:hive:// localhost:10000/default

我是Hadoop和生态系统的新手.我正在用Java中的JDBC尝试Hive.这是我的简单代码,仅用于测试驱动程序:

import java.sql.DriverManager;
import java.sql.SQLException;

public class PrepareHiveTable {
    private static String driverName = "org.apache.hive.jdbc.HiveDriver";

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName(driverName);
        Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
    }
}
Run Code Online (Sandbox Code Playgroud)

我已导入org.apache.hive.jdbc.HiveDriver到类路径中,这是我的驱动程序列表DriverManager:

org.apache.calcite.avatica.remote.Driver@45ff54e6
org.apache.calcite.jdbc.Driver@3581c5f3
org.apache.derby.jdbc.AutoloadedDriver40@4f8e5cde
com.mysql.jdbc.Driver@6f75e721
org.apache.hive.jdbc.HiveDriver@69222c14
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,我收到此错误:

Exception in thread "main" java.sql.SQLException: No suitable driver found for 
jdbc:hive://localhost:10000/default
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at PrepareHiveTable.main(PrepareHiveTable.java:24)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)

这里的任何人都知道它怎么会发生?以及如何解决?

java hadoop hive jdbc

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

泛型类中具有相同签名的抽象具体方法

JLS 8的第8.4.8.1节中,有一个声明:

在某些参数化中,通用超类C中的具体方法可以与该类中的抽象方法具有相同的签名.在这种情况下,具体方法是继承的,而抽象方法则不是.然后应该考虑继承的方法从C覆盖它的抽象对等体.

任何人都可以为泛型类提供这种参数化的例子吗?我无法做到.

java

9
推荐指数
1
解决办法
218
查看次数

未解决的依赖项:com.typesafe.play (Play Java)

我收到有关 typesafe.play 的类似错误。我已将 scalaVersion := "2.11.7" 添加到我的 build.sbt 文件中,但仍然看到相同的错误。

生成.sbt

version := "1.0-SNAPSHOT"

lazy val root = (project in file("."))
  .enablePlugins(PlayJava, PlayEbean)
  .dependsOn(celsus)
  .aggregate(celsus)

lazy val celsus = (project in file("libs/celsus"))
  .enablePlugins(PlayJava)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  javaJdbc,
  cache,
  javaWs,
  "com.amazonaws" % "aws-java-sdk" % "1.3.11"
)
Run Code Online (Sandbox Code Playgroud)

插件.sbt

resolvers += "Typesafe repository" at http://repo.typesafe.com/typesafe/releases/"
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.4")
Run Code Online (Sandbox Code Playgroud)

收到错误

Error:Error while importing SBT project:
...
[trace] Stack trace suppressed: run 'last root/:ssExtractDependencies' for the full output. [error] (celsus/:update) sbt.ResolveException: …
Run Code Online (Sandbox Code Playgroud)

sbt playframework

5
推荐指数
0
解决办法
1463
查看次数

if ... elseif一次又一次输入值时出错

在这个程序中,我必须一次又一次地在循环中输入温度.当我输入温度一旦它显示正确的显示,但当我再次输入温度时,程序自行终止.

代码是:

import java.util.Scanner;

public class CheckTemperature
{
    public static void main(String [] args) 
    {
        final double TEMPERATURE = 102.5;
        double thermostat;

        Scanner keyboard = new Scanner(System.in);
        System.out.println("Enter the substance's temperature: ");
        thermostat = keyboard.nextDouble();

        if(thermostat > TEMPERATURE)
        {
            System.out.print("The temperature is too high. ");
            System.out.print("Turn down the thermostat. ");
            System.out.println("Wait for 5 minutes and check the thermostat again. "); 
            System.out.println("Enter the thermostat here: ");
            thermostat = keyboard.nextDouble();
        }
        else if(thermostat < TEMPERATURE)
        {
            System.out.println("The temperature is low.");
            System.out.println("Turn up …
Run Code Online (Sandbox Code Playgroud)

java loops if-statement

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

在通过Eclipse部署Web应用程序时,是否可以在server.xml中维护tomcat配置?

当通过Eclipse将Web应用程序部署到Tomcat时,Eclipse会覆盖$ catalina_home/conf/server.xml.这意味着,在应用程序部署之前我对server.xml所做的任何更改都会被Eclipse覆盖.

我的应用程序使用GridGain,因此我需要将以下行添加到server.xml:

<Listener className="org.gridgain.grid.loaders.tomcat.GridTomcatLoader" configurationFile="config/default-spring.xml"/>
Run Code Online (Sandbox Code Playgroud)

由于Eclipse每次部署新版本的应用程序时都会覆盖server.xml,因此我需要指示Eclipse在部署期间插入上述行(这适用于所有tomcat事件侦听器).这可能吗?如果没有,是否有基于GridGain的应用程序通过Eclipse部署的解决方法?

eclipse tomcat gridgain

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

MockMultipartFile无法解析为某种类型

我正在为spring程序编写代码,我需要将File对象转换为MultipartFile对象.我试图通过使用MockMultipartFile类来做到这一点:

FileInputStream input = new FileInputStream(toUpload);
MultipartFile multipartFile = new MockMultipartFile("file",
                toUpload.getName(), "text/json", IOUtils.toByteArray(input));
Run Code Online (Sandbox Code Playgroud)

但是,我一直在收到错误MockMultipartFile cannot be resolved to a type.为什么是这样?如果它有帮助,我正在使用Maven,以防它可能是我不知道的依赖性错误.

我也尝试过这样做CommonsMultipartFile.那个代码在这里(toUploadFile我试图转换的对象):

DiskFileItem fileItem = new DiskFileItem("file", "text/plain", false, toUpload.getName(), (int) toUpload.length() , toUpload.getParentFile());
fileItem.getOutputStream();
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
Run Code Online (Sandbox Code Playgroud)

当我尝试这种方法时,我得到了错误The constructor CommonsMultipartFile(DiskFileItem) is undefined.这是为什么?

编辑:这是我们的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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.springframework</groupId>
    <artifactId>gs-uploading-files</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.5.RELEASE</version>
    </parent>

    <dependencies> …
Run Code Online (Sandbox Code Playgroud)

java spring file maven spring-boot

0
推荐指数
1
解决办法
4677
查看次数

为什么我的程序不打印它收到的数据而不是地址?

我创建了一个包含两个类的java程序.一个类(Main)包含传递到第二个类(Planning)的数据数组.第二个类(Planning)使用此数组为其变量的输入和输出赋值.代码如下所示:

////Main.java///
import java.util.ArrayList
public class Main{
public enum State{A, D, H};

Planning plan = new Planning[]{
      new Plan(new State[]{State.A,State.A,State.A,State.A}, new State[]{State.D,State.A,State.A,State.D,State.A,State.A})}
Run Code Online (Sandbox Code Playgroud)

另一个Class Planning.java看起来像这样:

public class Planning {


    Main.State[] input;
    Main.State[] output;
    Planning(Main.State[] input,Main.State[] output){
    this.input = input;
    this.output = output;

    System.out.println("The state is " + input);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我打印出"结尾处的输入"时,它会显示出来

[LMain $国家; @ 4e98f805

我希望它显示从main函数传递到它的数组.有人可以告诉我如何实现这一目标?

java arrays tostring output

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