小编wat*_*ery的帖子

为什么我不能从maven插件中关闭tomcat 7嵌入式?

我正在使用tomcat7-maven-plugin2.2从命令行运行webapp(我在Windows 8.1,Java 1.7.0_51和Maven 3.2.1).

这是配置(非常简单,我猜):

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>

    <configuration>
        <address>localhost</address>
        <port>8080</port>
        <path>/</path>
        <uriEncoding>UTF-8</uriEncoding>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我运行Maven mvn tomcat7:run并且它正确启动,服务器启动,webapp加载,我可以与它进行交互.
我运行Maven的命令提示符正忙着显示Tomcat输出(这看起来很好):

[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building <project-name-here> 0.3
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) @ <project-name-here> >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ <project-name-here> ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 25 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile …
Run Code Online (Sandbox Code Playgroud)

windows java-7 maven-tomcat-plugin

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

如何在 Maven 执行期间禁用特定警告?

由于我使用的配置,我得到了很多这些:

[WARNING] 'dependencies.dependency.systemPath' for local-deps:[...] should not point at files within the project directory, ${basedir}/[...] will be unresolvable by dependent projects [...]
Run Code Online (Sandbox Code Playgroud)

由于这是应用程序当前的设置方式,我无法修复它们;但是它们使控制台混乱,那么有没有办法禁用它们?mvn --quiet不是一个选项,因为它删除了太多消息。

maven

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

如何在Notepad ++ regexp中使用九个以上的反向引用?

如果我在Notepad ++中使用长正则表达式,即:

^([^ ]+) ([^ ]+) ([^ ]+) (\[.*?\]) (".*?") (".*?") (".*?") (".*?") (\d+) (\d+) (\d+)$
Run Code Online (Sandbox Code Playgroud)

(这是用于将Apache日志行从空格分隔转换为制表符分隔)

然后我无法成功使用超过9个反向引用来替换,因为\10产生了第一个捕获组的内容加上文字"0".

我尝试过$10,但这给出了相同的结果.

regex backreference notepad++ capturing-group

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

将 LocalDate 和 LocalDateTime 序列化为 Unix 时间戳

我正在从在 Spring MVC 应用程序中使用新类java.sql.Timestamp转向java.util.GregorianCalendar使用新类。java.time.*

所以我改变了每一个

private GregorianCalendar field;
Run Code Online (Sandbox Code Playgroud)

private LocalDate field;
Run Code Online (Sandbox Code Playgroud)

或者

private LocalDateTime field;
Run Code Online (Sandbox Code Playgroud)

但现在当序列化这些 bean 时,它们会像这样序列化:

"field": {
      "year": 1970,
      "month": "JANUARY",
      "dayOfMonth": 18,
      "dayOfWeek": "SUNDAY",
      "era": "CE",
      "dayOfYear": 18,
      "leapYear": false,
      "monthValue": 1,
      "chronology": {
        "id": "ISO",
        "calendarType": "iso8601"
      }
    },
Run Code Online (Sandbox Code Playgroud)

我找到了其他问题的答案,提到添加对jackson-datatype-jsr310 的依赖项并获得:

 "field": [
      1970,
      1,
      18
    ],
Run Code Online (Sandbox Code Playgroud)

但我在序列化时仍然想要一个 unix 时间戳,就像我在字段中得到的那样GregorianCalendar:我怎样才能实现这一点?我可以避免使用自定义序列化器(和反序列化器)吗?

这些与资源响应和请求主体(如 POST、PUT 等)相关,而不是请求参数。

Jackson 的ObjectMapper配置如下:

jacksonConverter.getObjectMapper().enable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
jacksonConverter.getObjectMapper().disable(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS);
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc jackson java-time

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

Docker 组合容器失败并退出,代码 127 丢失 /bin/env bash

我是 Docker 的新手,所以请容忍我的任何错误术语。

我在 Windows 7 上安装了 Docker 工具,我正在尝试运行存储在 git 存储库中的专有现有项目的 Docker 组合文件,该文件可能仅在 Linux 上运行。

这些是我运行的命令:

  1. docker-machine start
  2. docker-machine env
  3. @FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
    • 这是步骤(2)的输出
  4. docker-compose -f <docker-file.yml> up

大多数 Docker 工作进展顺利(图像下载、提取等)。

它在容器启动时失败,其中一些容器运行良好 - 我识别出一个工作 MongoDB 实例,因为它的日志没有报告任何错误 - 但其他容器很快退出并显示错误代码,即:

frontend_1 exited with code 127
Run Code Online (Sandbox Code Playgroud)

向上滚动控制台,我可以看到如下几行:

No such file or directoryr/bin/env: bash
Run Code Online (Sandbox Code Playgroud)

我不知道从这里去哪里。我尝试从 CygWin 终端启动 Composer,但得到了相同的结果。


Docker 撰写文件

version: "2"

services:
  frontend:
    command: "yarn start"
    image: company/application/frontend:1
    build:
      context: frontend
      dockerfile: docker/Dockerfile
    environment:
      <env entries>
    ports: …
Run Code Online (Sandbox Code Playgroud)

windows docker docker-compose

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

如何在没有mod_rewrite的情况下重定向除一个路径及其所有子路径之外的所有URL?

我在Tomcat 7前面有Apache 2.4(尽管我认为前者在这里很重要).我需要将域上的所有请求重定向到HTTPS端口,但不是那些转到特定文件夹的请求:

(1) http://www.example.com/ -> https://www.example.com/
(2) http://www.example.com/products -> https://www.example.com/products
(3) http://www.example.com/... -> https://www.example.com/...
Run Code Online (Sandbox Code Playgroud)

(4) http://www.example.com/services should pass straight 
(5) http://www.example.com/services/main should pass straight
(6) http://www.example.com/services/main/list?params should pass straight
Run Code Online (Sandbox Code Playgroud)

如何在不使用的情况下完成此操作mod_rewrite(正如我在其他问题中发现的那样)?

我在文档中看到重定向是使用RedirectRedirectMatch指令处理的.

所以我可以处理1,2,3:

<VirtualHost *:80>
    ...
    ServerName www.example.com
    Redirect / https://www.example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但我不能写一个正则表达式来处理其他三个.我在这个答案中发现我可以使用负面的外观,但正则表达式/(?!services).*只会匹配4(至少根据Regex Tester

编辑

我已经明确指出,这可以在没有的情况下完成mod_rewrite.

regex redirect apache2.4

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

为什么我的hamcrest"包含"不按预期工作?

我运行这一行:

List<String> ids = new List<String>()
ids.add("id1");
ids.add("id2");
assertThat(ids, contains("id1"));
Run Code Online (Sandbox Code Playgroud)

但奇怪的是它返回"失败".

我怎样才能解决这个问题?

java testing unit-testing hamcrest

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

如何在Spring Boot中设置amqp RabbitMQ消费者标签?

在问题How to set the Consumer-tag value in spring-amqp 中,有人询问如何在使用 Spring Amqp 时更改消费者标签,答案建议提供ConsumerTagStrategy.

我正在使用 Spring Boot 2.0.5,我试图弄清楚是否可以进行相同的自定义,尽管我找不到任何相关的配置属性,也没有提供ConsumerTagStrategy似乎有效的类型的 bean。

我该怎么办?

java spring spring-amqp spring-boot

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

如何在包含变量赋值的jdbc的mysql查询中转义冒号(:)?

我正在尝试运行一个涉及JDBC自定义变量的查询到MySQL 5.0数据库(Hibernate 4作为ORM):

SET @rownum := 0; SELECT rnum FROM (
    SELECT (@rownum := @rownum + 1) AS rnum, col_name_a
    FROM table_name
    WHERE (col_name_b IS NULL  OR col_name_b != 'USER' )  ORDER BY col_name_a) c
WHERE col_name_a = :aValue
Run Code Online (Sandbox Code Playgroud)

第一个SET @rownum := 0;需要重置变量,但那里不需要冒号(我已按照此问题中的建议设置allowMutilQuery = true).

问题出在以下几点SELECT,我继续得到:

org.hibernate.QueryException:参数前缀':'后面不允许有空格

有没有解决的办法?我应该使用其他方法吗?

javax.persistence.Query q = EntityManager instance>.createNativequery(String)
Run Code Online (Sandbox Code Playgroud)

q.setParameter(<param name>, <param value>)
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate jdbc query-variables

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

XSLT将新元素添加到XML的根元素

我想在根节点关闭之前的XML文档末尾添加几个元素,并且我正在使用XSL进行转换。

源XML可以包含任何无关紧要的节点,子节点等。其中的所有内容都应复制到转换后的文档中,此外还必须添加一些其他元素。

我对XSL,XSLT和XPath完全陌生,所以我无疑是在犯错误。

我所有的XSL都是这样的:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" />

    <!-- tried directives -->

</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

这是我发现并尝试过的,但是没有成功。

<xsl:template match="node()|@*">
    <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>

    <my-el></my-el>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

我读过那是身份模板,所以我想用它来复制所有内容以及一个附加元素。但这会<my-el></my-el>在源文档的每个元素内添加。

在阅读了一些有关XSLTXPath的w3schools教程之后,我尝试了:

<xsl:template match="/">
<xsl:copy-of select="."></xsl:copy-of>
<my-elem />
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

但是它<my-elem />在根元素的结束标记之后添加。

你能帮我吗?

背景:我正在玩,以xml-maven-plugin通过配置web.xml文件触发向Web应用程序文件中添加一些配置。我希望将文件中所有现有的XML复制到输出文档中,再加上一些(现在就足够了)。

这是源web.xml文件:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<display-name>My Project</display-name>
    <welcome-file-list>
        index.jsp
    </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

我想实现类似此问题的要求,但是必须将新节点添加到根元素(即,查看对该问题答案的评论)。

xml xslt xpath

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