小编Nit*_*tal的帖子

是否有必要在pom中指定maven插件的版本?

我正在使用NetBeans进行开发,它具有内置菜单功能,允许我们maven-checkstyle-plugin在pom中添加代码格式.但是,当您单击该菜单时,它会自动在pom中添加以下代码,但不包含该<version>信息.现在我的IDE继续抱怨边缘的一条小提示消息,说"版本"标签丢失了.我的问题是:添加的所有插件是否都必须<version>在pom中有标签?

的pom.xml

 <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <configuration>
                    <configLocation>config/sun_checks.xml</configLocation>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
Run Code Online (Sandbox Code Playgroud)

java netbeans maven

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

如何使用循环填充rails中的下拉列表?

我想使用循环动态填充Rails中的下拉列表.我想在下拉列表中显示1到30天的天数.我尝试了这个,但它select在我的html页面上多次打印了这个盒子.

  <%
    for i in 0..30
  %>
      <%= select_tag "time_id", options_for_select([['Last #{i} days', i]]), class: 'form-control' %>
  <%
    end
  %>
Run Code Online (Sandbox Code Playgroud)

输出:

Last #{i} days got displayed 30 times within individual select boxes.
Run Code Online (Sandbox Code Playgroud)

预期产出:

<select>
    <option name='1'>Last 1 day</option>
    <option name='2'>Last 2 days</option>
    <option name='3'>Last 3 days</option>
    ...
    ...
    <option name='30'>Last 30 days</option>
</select>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

如何使用apache-commons-dbutils将数据库列名称映射到Java类字段

我想使用Apache DBUtils库从数据库填充POJO(State.java)。但是,由于Bean属性的名称与DB列名称不完全匹配,因此某些属性未填写。

现在,我通过谷歌搜索对此进行了一些研究,发现可以通过以下方法实现:

  1. 编写SQL查询时使用列别名(我不喜欢这样做,因为在一些较大的表中有多个联接,因此需要大量别名)
  2. 使用BeanProcessor(在任何地方都找不到很好的示例)

谁能提供一个很好的例子说明如何使用BeanProcessor将列名映射到属性?调整示例为我提供的效果会更好。

数据库表

CREATE TABLE public.states (
  state_id INTEGER DEFAULT nextval('states_seq'::regclass) NOT NULL,
  state_cd VARCHAR(2) NOT NULL,
  name VARCHAR(100) NOT NULL,
  tax_pct NUMERIC(10,2) DEFAULT 0.00 NOT NULL,
  active CHAR(1) DEFAULT 'Y'::bpchar NOT NULL,
) 
Run Code Online (Sandbox Code Playgroud)

State.java

  public class State implements Serializable {

    private int stateId;
    private String stateCode;
    private String name;
    private BigDecimal taxPct = new BigDecimal(0);
    private Date expiryDate;
    private String createdBy;
    private Date createdOn;
    private String active;

    //getters and setters here …
Run Code Online (Sandbox Code Playgroud)

java jdbc apache-commons-dbutils

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

尽管在功能文件calc.feature中添加了Background,但仍获得Cucumber.runtime.DuplicateStepDefinitionException

Cucumber Selenium使用以下命令运行测试时出现以下错误Spring Boot

我已经添加Background了功能文件。不确定如何概括其中传递的参数。

请指导。

错误:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.TestRunner
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.388 sec <<< FAILURE! - in com.example.TestRunner
initializationError(com.example.TestRunner)  Time elapsed: 0.004 sec  <<< ERROR!
cucumber.runtime.DuplicateStepDefinitionException: Duplicate step definitions in com.example.stepdefs.GoogleCalcStepDefinition.I_enter_in_search_textbox(String) in file:/I:/pet-projects/junit-cucumber-demo/target/test-classes/ and com.example.stepdefs.GoogleCalcSte
pDefinition.I_enter_in_search_textbox2(String) in file:/I:/pet-projects/junit-cucumber-demo/target/test-classes/


Results :

Tests in error:
  TestRunner.initializationError » DuplicateStepDefinition Duplicate step defini...

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0

[ERROR] There are …
Run Code Online (Sandbox Code Playgroud)

java bdd selenium spring cucumber

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

@Autowired发现模糊的依赖关系,仍然有效.怎么样?

为什么Spring不会抛出NoSuchBeanDefinitionException存在模糊依赖关系的地方,并且有多个bean候选者使用@Autowired注释进行自动装配?

我有这个简单的beans.xml,它有两个相同的bean,具有不同的id category,category1并且出于某种原因,Spring选择categorybean进行自动装配.我的印象是@Autowired注释byType在内部使用自动装配,因为这里有多个匹配,Spring会抛出NoSuchBeanDefinitionException异常.

我在3.2.13.RELEASE这里使用spring版本.

beans.xml中

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans 
     .....   ">

        <context:annotation-config />

        <bean id="product" class="com.study.spring.Product">
            <property name="id" value="101"/>
            <property name="name" value="Apple iPhone"/>
            <property name="active" value="true"/>
        </bean>

        <bean id="category1" class="com.study.spring.Category">
            <property name="id" value="202"/>
            <property name="name" value="Phone"/>
            <property name="active" value="true"/>
        </bean>

        <bean id="category" class="com.study.spring.Category">
            <property name="id" value="201"/>
            <property name="name" value="Communications"/>
            <property name="active" value="true"/>
        </bean>

    </beans>
Run Code Online (Sandbox Code Playgroud)

Product.java

package com.study.spring;

import org.springframework.beans.factory.annotation.Autowired;

public class Product …
Run Code Online (Sandbox Code Playgroud)

java spring annotations spring-annotations

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

如何防止用户在Html输入中输入负值

我使用以下html输入元素来收集Html页面中的产品数量,但用户仍然可以继续并手动输入负值.例如:我选择了文本框并输入-100并且输入字段在没有抱怨的情况下接受了它.

如何防止用户在Html输入元素中输入0和非负值?

<input type="number" id="qty" value="" size="3" min="1" />
Run Code Online (Sandbox Code Playgroud)

html html5

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

无法使用Collections.copy()方法将数据从一个List复制到另一个List

我试图使用Collections.copy方法将一个List数据复制到另一个,但它给了我IndexOutofBoundsException异常.

源代码:

public static void main(String[] args) {
    List<Integer> odds = Arrays.asList(1, 3, 5, 7, 9);
    System.out.println("odds = " + odds);

    //copy data from one to another using copy() method
    List<Integer> anotherOdd = new ArrayList<>(odds.size());
    Collections.copy(anotherOdd, odds);
    System.out.println("anotherOdd = " + anotherOdd);
}

odds = [1, 3, 5, 7, 9]
Exception in thread "main" java.lang.IndexOutOfBoundsException: Source does not fit in dest
    at java.util.Collections.copy(Unknown Source)
    at com.study.java.collections.Main.main(Main.java:7)
Run Code Online (Sandbox Code Playgroud)

请指导.

java collections arraylist

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

无法使用 HTTP API 将消息发布到 RabbitMQ 中的队列

我正在使用 REST APIhttp://192.168.99.100:32787/api/exchanges/%2f/amq.direct/publish 将消息发布到我的helloworld.q队列。

有效负载:

{"properties":{},"routing_key":"","payload":"Hello World","payload_encoding":"string"}
Run Code Online (Sandbox Code Playgroud)

我还没有创建任何新的交换。我不确定要指定哪个交换,因此amq.direct在其余网址中使用。我已经提供了基本身份验证凭据,并且从 API 收到了以下响应。

{
    "routed": false
}
Run Code Online (Sandbox Code Playgroud)

不知道出了什么问题。

有关如何使用其 HTTP API 的最新文档可以在此处找到。 https://rawcdn.githack.com/rabbitmq/rabbitmq-management/rabbitmq_v3_6_11/priv/www/api/index.html

rest rabbitmq

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

JUnit-Mockito 测试因 InvalidUseOfMatchersException 而失败

我在构建when-then测试部分时遇到问题。运行测试时出现以下错误。

我已经查看了这个 SO 链接(Mockito: InvalidUseOfMatchersException)并重构了我的代码以使用eq()但仍然存在相同的错误。

错误:

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
3 matchers expected, 2 recorded:
-> at com.myco.dao.ProductDaoTest.getOriginiatorUsingMsgId(ProductDaoTest.java:24)
-> at com.myco.dao.ProductDaoTest.getOriginiatorUsingMsgId(ProductDaoTest.java:24)

This exception may occur if matchers are combined with raw values:
    //incorrect:
    someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
    //correct:
    someMethod(anyObject(), eq("String by matcher"));

For more info see javadoc for Matchers class.


    at com.myco.dao.ProductDaoTest.getOriginiatorUsingMsgId(ProductDaoTest.java:24)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at …
Run Code Online (Sandbox Code Playgroud)

java junit spring unit-testing mockito

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

如何从 mvn clean 部署生成的 Maven 工件中删除日期时间后缀和增量 #?

我有一个Spring Boot基础应用程序,当我使用name运行时java,它会生成一个工件。JARmvn clean installmy-nexus-demo-0.0.1-SNAPSHOT.jar

但是当我这样做时,mvn clean deploy我看到部署在我的本地文件系统中(将来my-nexus-demo-0.0.1-20190806.161150-1.jar将使用)。Nexus不知道为什么当我使用mvn clean deploy命令时它会附加日期时间和增量 # 作为后缀。

我已经<finalName>${project.artifactId}</finalName>在我的文章中提到过pom并且也指定了<uniqueVersion>false</uniqueVersion>

我这里有几个问题:

  1. 如何在.m2仓库和SNAPSHOT仓库之间拥有一致的工件名称RELEASE
  2. 开发人员在构建和部署工件时应遵循的最佳实践是什么?工件名称不应该始终保持一致吗?

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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>my-nexus-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>my-nexus-demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java maven-plugin maven-3 maven spring-boot

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