小编Mik*_*kov的帖子

Maven 3.8.0编译器 - 致命错误编译:不支持发行版本11

我无法使用Java 11和最新版本的maven-compiler-plugin构建.

pom.xml中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>11</release>
            </configuration>
        </plugin>
    <plugins>
<build>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用Maven构建时:

?  mvn clean compile
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building service 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ service ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 80 source files to /home/mip/service/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.859 s
[INFO] Finished at: 2018-08-01T11:20:55+01:00
[INFO] Final Memory: 32M/124M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to …
Run Code Online (Sandbox Code Playgroud)

java linux ubuntu maven java-11

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

如何在Java 8/jsr310中格式化Period?

我想Period使用像这样的模式来格式化YY years, MM months, DD days.Java 8中的实用程序旨在设置时间格式,但不包括句点或持续时间.PeriodFormatter在Joda时间有一个.Java有类似的实用程序吗?

java time-format period java-8

21
推荐指数
2
解决办法
763
查看次数

在数据库中使用Java 8 LocalDate和LocalDateTime进行Hibernate

我的要求是将所有日期和日期时间以UTC时区存储在数据库中.我正在使用Java 8 LocalDateLocalDateTime我的Hibernate实体.

那是正确的,因为LocalDateLocalDateTime不具有与之相关联的时区?

如果没有,我应该回到使用好旧(或传统?)Date&Timestamp

或者我应该使用Java 8 Instant?如果使用Instant,是否有可能只存储日期部分,没有时间?

数据库是MySQL和SQL Server,这是一个Spring Boot应用程序.

java hibernate utc java-time

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

"是否要运行此应用程序"JNLP对话框 - 再次显示对话框的条件

用户正在运行从浏览器启动的JNLP应用程序.JNLP启动的*.jar文件由受信任的CA颁发的证书签名.

启动jar文件时,会向用户询问是否信任签名者(不是CA - CA已经信任).

问题对话框

如果用户说"是",则将签名者的证书添加到信任存储区.

问题是:同一个对话框再次显示的条件是什么?

  • JNLP调用的*.jar文件是否已更改?
  • JNLP本身有变化吗?
  • JNLP的URL是否已更改?

即使在用户最初选中" 不再显示此项 "复选框后,其中哪些(或其他?)将触发对话框显示

java jnlp signed ria java-web-start

18
推荐指数
1
解决办法
754
查看次数

远程调试:在端口8787上未连接OpenJDK 11上的Wildfly 14

我正在尝试将调试器连接到在Open JDK 11上运行的Wildlfy。

尽管Wildfly说:

Listening for transport dt_socket at address: 8787

我的IDE(IntelliJ IDEA CE 2018.1)声称没有任何连接:

Unable to open debugger port (localhost:8787): java.io.IOException "handshake failed - connection prematurally closed"

我通过standalone.sh --debug以下方式启动Wildfly JAVA_OPTS

-server
-Xms64m
-Xmx512m
-XX:MetaspaceSize=96M
-XX:MaxMetaspaceSize=256m
-Djava.net.preferIPv4Stack=true
-Djboss.modules.system.pkgs=org.jboss.byteman
-Djava.awt.headless=true
-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
--add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED
--add-modules=java.se
Run Code Online (Sandbox Code Playgroud)

Java 9/10/11有什么变化吗?使用Oracle JDK 8时,使用完全相同的设置进行远程调试可以很好地工作。

我可以使用telnet确认该端口8787确实无法访问。

阅读@ehsavoie的评论后进行更新netstat -ln在运行Wildfly的服务器上显示:

Proto Recv-Q Send-Q Local Address           Foreign Address         State   
tcp        0      0 127.0.0.1:8787          0.0.0.0:*               LISTEN 
Run Code Online (Sandbox Code Playgroud)

因此,显然在OpenJDK 11中,默认情况下,调试端口现已绑定到localhost。

java debugging remote-debugging wildfly java-11

17
推荐指数
2
解决办法
3614
查看次数

Spring Boot从依赖项继承application.properties

假设我有5个Spring Boot项目.所有这些都有一个Maven依赖于Spring Boot项目No 6和一些共享/公共类.5个独立项目在每个application.properties上分配了许多公共属性,我想将它们抽象并移动到公共项目中.整体看起来像这样:

                                            Project 1 (app.properties)
Common Project (app-common.properties) <--- Project 2 (app.properties)
                                            Project 3 (app.properties)...
Run Code Online (Sandbox Code Playgroud)

当前的问题是app-common.properties位于project1.jar/lib/common-project.jar中,而app-common.properties显然不会在启动时加载.

有没有办法从依赖中扩展它?

CommonProject Main类如下所示:

@SpringBootApplication
public class CommonApplication extends SpringBootServletInitializer {

    protected static void run(SpringApplication application, String[] args) {
        application.run(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

Project1主类看起来像这样:

public class Project1 extends CommonApplication {

    public static void main(String[] args) {
        run(new SpringApplication(Project1.class), args);
    }
}
Run Code Online (Sandbox Code Playgroud)

spring spring-boot

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

缓存条目反序列化失败,条目被忽略

C:\Users\deypr>pip3 install sklearn

Collecting sklearn

  Cache entry deserialization failed, entry ignored

  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)'),)': /simple/sklearn/

  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)'),)': /simple/sklearn/

  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)'),)': /simple/sklearn/

  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: …
Run Code Online (Sandbox Code Playgroud)

python windows installation ssl scikit-learn

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

Java SWT浏览器.具有超高清(4K)或更高分辨率的屏幕上的不同输出

我们在Java应用程序中使用SWT浏览器来呈现HTML内容.当环境具有非常高的分辨率(4K)时出现问题.当内容有这样的html时:

<html> <head> <style> .test { font-size: 35px;font-family: Arial;} </style> </head><body><div class='test'>TEST</div></body></html>
Run Code Online (Sandbox Code Playgroud)

用过的java源代码是:

import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class SWTTest {

  public void run() {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("SWT test");
    createContents(shell);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }

  private void createContents(Shell shell) {
    shell.setLayout(new FillLayout());

   Browser browser = new Browser(shell, SWT.NONE);

   browser.setText("<html> \r\n" + 
            "<head> <style> .test { font-size: 85px;font-family: Arial;} </style> </head>\r\n" + …
Run Code Online (Sandbox Code Playgroud)

html java browser swt internet-explorer-11

15
推荐指数
1
解决办法
207
查看次数

如何使用ModelMapper进行深度继承对象?

A.java

@Entity
@Getter
@Setter
@Inheritance
@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, inclue=JsonTypeInfo.As.PROPERTY, property="type") 
@JsonSubTypes({
    @JsonSubTypes.Type(value=AA.class,name="aa"),
    @JsonSubTypes.Type(value=AB.class,name="ab"),
})
public abstract class A {
    @Id
    @GeneratedValue
    private Long id;

    //json ignore for getter
    @ManyToOne
    private A parent;

    @OneToMany(mappedBy="parent")
    private List<A> children;
}
Run Code Online (Sandbox Code Playgroud)

AA.java

@Entity
@Getter
@Setter
@DiscriminatorValue("aa")
public class AA extends A{
    private User user;
}
Run Code Online (Sandbox Code Playgroud)

AB.java

@Entity
@Getter
@Setter
@DiscriminatorValue("ab")
public class AB extends A {
    private String name;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我将类的实例AB作为JSON 返回时,它看起来像这样:

{
     "id": 1,
     "type": "ab",
     "children": [...],
     "name": "ali"
}
Run Code Online (Sandbox Code Playgroud)

由于我想使用自定义User …

java dto modelmapper

15
推荐指数
1
解决办法
621
查看次数

如何判断JDK是否在运行的JVM中可用?

注意:从shell的角度来看,所有类似的问题都在回答这个问题(例如,是否javac可用?java -versionwhich java)。我正在明确地寻找当前正在运行的 JVM 的观点

有些程序需要在JDK的JRE中运行,而不仅仅是“仅” JRE。我想知道是否有一种简单的方法来找出当前正在运行的程序所执行的内容。

我正在寻找一种通用的方法来解决这个问题,而不是分析所讨论的程序并复制其对JDK功能的使用。因此javac,如果可能的话,我宁愿不执行外部流程测试。我宁愿寻找一些将在JDK中运行但在JRE中失败的代码。

它可能Class.forName与仅在JDK中可用的类一起使用。它可能是系统属性。或其他。

如果我必须使用javac执行外部进程:那就这样吧。但是我更喜欢更简单,更通用的东西。

在注释中从下至下阐明

我不时遇到Liferay的问题,该问题需要在JDK的JRE中运行。我很高兴想到只部署另一个插件,如果在没有JDK的情况下运行该插件,它将提供用户友好的错误消息。我回避分析仅在JRE环境中失败的代码,并且我不想修改Liferay的代码,而是添加自己的插件来进行分析和警告。

java jvm liferay

15
推荐指数
1
解决办法
360
查看次数