小编d0x*_*d0x的帖子

由Maven shade插件构建的无效或损坏的JAR文件

将Maven jFree依赖项添加到现有应用程序后,我无法执行创建的jar.

我得到的唯一错误消息如下:

java -jar target/com.company.product-1.0.0-SNAPSHOT.jar 
Error: Invalid or corrupt jarfile target/com. company.product-1.0.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

完整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>com.mycompany</groupId>
<artifactId>com.mycompany.test</artifactId>
<name>${project.artifactId}</name>
<version>1.0.0-SNAPSHOT</version>

<properties>
    <java-version>1.7</java-version>
    <org.springframework-version>3.1.1.RELEASE</org.springframework-version>
    <org.springframework.data-version>1.0.3.RELEASE</org.springframework.data-version>
    <org.springframework.ws-version>2.0.4.RELEASE</org.springframework.ws-version>
    <org.springframework.ws.oxm-version>1.5.10</org.springframework.ws.oxm-version>
    <org.aspectj-version>1.6.12</org.aspectj-version>
    <org.slf4j-version>1.5.10</org.slf4j-version>
    <selenium-java-version>2.25.0</selenium-java-version>
    <browser-mob-version>2.0-beta-6</browser-mob-version>
</properties>

<dependencies>

    <!-- Hint A: If we delete this dependency it works -->
    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.0.14</version>
                    <exclusions>
            <exclusion>
                <artifactId>itext</artifactId>
                <groupId>com.lowagie</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.3.2</version>
    </dependency>

    <dependency>
        <groupId>de.schlichtherle.io</groupId>
        <artifactId>truezip</artifactId>
        <version>6.6</version>
    </dependency>

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>apache-log4j-extras</artifactId>
        <version>1.1</version>
    </dependency>

    <!-- Caching …
Run Code Online (Sandbox Code Playgroud)

java jfreechart maven maven-shade-plugin

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

如何编辑远程Linux服务器上现有jar内的application.properties或application.yml文件的内容

如何编辑application.properties远程Linux服务器上现有jar文件内的属性文件(如).

试想一下,罐子位于/home/user/my-spring-boot.jar我喜欢改变内部的用户名application.propertires

username=foo
Run Code Online (Sandbox Code Playgroud)

username=bar
Run Code Online (Sandbox Code Playgroud)

如何打开文件并更改属性?

java jar

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

如何在链接的 observables 之间传递结果

抽象问题:每次源 Observable 发出和事件时,都需要触发一系列 API 调用和 Angular 服务。其中一些调用取决于以前的结果。

在我的示例中,源 ObservablestartUpload$触发了一系列依赖调用。

使用解构可以这样写:

this.startUploadEvent$.pipe(
      concatMap(event => this.getAuthenticationHeaders(event)),
      map(({ event, headers }) => this.generateUploadId(event, headers)),
      tap(({ event, headers, id }) => this.emitUploadStartEvent(id, event)),
      concatMap(({ event, headers, id }) => this.createPdfDocument(event, headers, id)),
      concatMap(({ event, headers, id, pdfId }) => this.uploadBilderForPdf(event, pdfId, headers, id)),
      mergeMap(({ event, headers, id, pdfId, cloudId }) => this.closePdf(cloudId, event, headers, id, pdfId)),
      tap(({ event, headers, id, pdfId, cloudId }) => this.emitUploadDoneEvent(id, event, cloudId)),
).subscribe()
Run Code Online (Sandbox Code Playgroud)

它几乎读起来像是一种命令式方法。但它有一些问题:

  • 解构链在代码中不断重复并变得越来越长 { …

rxjs typescript angular rxjs-observables

29
推荐指数
3
解决办法
3901
查看次数

如何使用自制软件在osx macOS Mojave上安装java 8?

目前,某些应用仍然需要Java 8,例如:

  • Android SDK/Android Studio
  • 詹金斯
  • 离子...

随着brew install java最新安装版本.但是如何安装Java 8?

java macos homebrew

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

使用Ubuntu容器(ascii,utf-8)在docker(Python,Java,Ruby,...)中运行应用程序时出现编码问题

在我自己的PC上,应用程序运行良好,但当它部署到docker时,由于无效字符而失败.

我正在使用ubuntu:lastest容器python3,javaruby.

ruby python java locale docker

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

如何使用SimpleDateFormat模式替换String中的占位符

在像这样的给定字符串中

".../uploads/${customer}/${dateTime('yyyyMMdd')}/report.pdf"
Run Code Online (Sandbox Code Playgroud)

我需要替换一个customer和一个yyyyMMdd时间戳.

要替换customer占位符,我可以使用StrSubstitutorApache Commons.但如何更换SimpleDateFormat?我们在Spring环境中运行,所以也许Spring EL是一个选择?

占位符的标记不固定,如果另一个库需要语法更改,则可以.

这个小测试显示了这个问题:

SimpleDateFormat            formatter   = new SimpleDateFormat("yyyyMMdd");

String                      template    = ".../uploads/${customer}/${dateTime('yyyyMMdd')}/report.pdf";

@Test
public void shouldResolvePlaceholder()
{
    final Map<String, String> model = new HashMap<String, String>();
    model.put("customer", "Mr. Foobar");

    final String filledTemplate = StrSubstitutor.replace(this.template, model);

    assertEquals(".../uploads/Mr. Foobar/" + this.formatter.format(new Date()) + "/report.pdf", filledTemplate);
}
Run Code Online (Sandbox Code Playgroud)

java apache-commons spring-el

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

如何使用Spring Data Repositories作为Vaadin JPAContainer

是否可以org.springframework.data.jpa.repository.JpaRepositoryJPAContainerVaadin 一样使用存储库?

我们正在从Spring开始设立一个新的Vaadin 7项目.

Spring集成是使用Spring Vaadin Integration Addon完成的.

java spring vaadin spring-data-jpa

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

如何使用iText生成目录"TOC"?

我用一些Chapters 创建了一个文档.

如何为此文档生成TOC?

它应该如下所示:

TOC:
Chapter 1                        3
Chapter 2                        4
Chapter 3                        6
Chapter 4                        9
Chapter 5                       10
Run Code Online (Sandbox Code Playgroud)

java itext

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

如何使用Java发送Google地方信息搜索请求

对于20米范围内的任何银行,我需要通过long/lat搜索Goolge Places Pages.此Google商家信息文档介绍了如何使用JavaScript.他们正在使用google.maps.LatLng我在Java中没有的Object.

现在有人怎么称呼服务?

也许Goolge Places还有一个Java API?

最诚挚的问候,基督徒.

编辑1:

我发现有人像这样构建网址:

String url = baseUrl + "location=" + lat + "," + lon + "&" +
                 "radius=" + searchRadius + "&" + types + "&" + "sensor=true" +
                 "&" + "key=" + googleAPIKey;
Run Code Online (Sandbox Code Playgroud)

答案:编辑2:

我因为上面的帖子我发现了怎么做.这是如何发送请求的示例:

public class GooglePlacesClient
{
    private static final String GOOGLE_API_KEY  = "***";

    private final HttpClient    client          = new DefaultHttpClient();

    public static void main(final String[] args) throws ParseException, IOException, URISyntaxException
    {
        new …
Run Code Online (Sandbox Code Playgroud)

java google-places-api

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

如何配置Spring REST服务来处理多个版本?

几乎所有API都处理不同的发行版本.通常你会看到这种版本:

但是我没有找到一个描述如何在Spring堆栈中组织它们的源代码.我想在每个控制器上都有一个/v1前缀@RequestMapping("/v1/questions")不是最好的方法.

想象一下@Service,只有当前版本的一层(在我们的例子中是V2).

我们的服务应该处理V1和V2的请求.唯一的变化是V2在问题实体上添加了一个新字段(这意味着V1问题可以很容易地转换为V2问题).

现在的问题是:

  • 如何组织不同于~.web.* @Controllerjava包的观点?
  • 如何注释~.web.* @Controller他们知道他们的版本的不同?以这种方式RequestMapping?或者是否可以使用上下文配置它们:在V1 java包中进行组件扫描?
  • 如何组织转换器?把它们放在哪里,如何命名它们?水木清华.像QuestionsV1ToV2控制器?
  • 是否有DTO图层重新征集?因为我们的域必须同时处理许多版本?

一个例子看起来像这样(我在各处添加了包):

// on V1 Question look like this:
public class project.domain.Question
{
    private String question;
}

// on v2 Question looks like this:
public class project.domain.Question
{
    private String question;
    private Date creationDate;
}


@Service
public class project.service.QuestionService
{
    public long create(Question q) {...};
    public Question read(long id) {...};
    public void remove(long id) …
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-ws spring-mvc

8
推荐指数
2
解决办法
3817
查看次数