小编J E*_*lis的帖子

如何在Eclipse上修复"声明的包与预期的包不匹配"错误?

我觉得我已经通过了正确的步骤来解决这个错误,我在SO和其他地方看过其他有关此问题的问题,但由于某种原因,我仍然遇到问题.

我正在尝试使用Apache JMeter源代码设置项目.

例如,文件BeanShellAssertion.java

~/workspace/apache-jmeter-2.9/src/components/org/apache/jmeter/assertions.
Run Code Online (Sandbox Code Playgroud)

我的源文件夹是src/components.包裹声明BeanShellAssertion.java

package org.apache.jmeter.assertions;
Run Code Online (Sandbox Code Playgroud)

看着它,似乎一切都按照它应该的方式设置.但是,包声明导致错误:

The declared package "org.apache.jmeter.assertions" does not match the
expected package "components.org.apache.jmeter.assertions"
Run Code Online (Sandbox Code Playgroud)

图片如下.我到底错在了什么?

在此输入图像描述

在此输入图像描述

java eclipse

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

为什么Maven没有使用预期的配置文件?

我正在使用Maven构建一些项目,它使用gMaven插件来构建包含主要工件的RPM.我只希望Maven尝试在具有rpmbuild的系统上构建RPM,而不是在没有的系统上构建RPM,因此我构建了两个独立的配置文件,一个应该是默认的,一个应该在Unix系列上激活OS.

我可以发誓,我测试了它,一切正常,但现在它运行Unix系列配置文件,即使我在OSX上构建.但是,如果我将配置文件的OS系列更改为"windows",它肯定知道它不在Windows机器上,因此运行默认配置文件.

这是我的pom.xml文件的相关部分:

<profiles>
    <profile>
        <id>default-profile</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <rpmPhase>none</rpmPhase>
        </properties>
    </profile>
    <profile>
        <id>rpm-profile</id>
        <activation>
            <os>
                <family>unix</family>
            </os>
        </activation>
        <properties>
            <rpmPhase>package</rpmPhase>
        </properties>
    </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

在Maven输出中:

OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)

但是,Maven将rpmPhase设置为"package"而不是"none",这不是预期的行为.

任何人都可以看到我在这里遗失了什么吗?

编辑:

此外,如果我将OS系列设置为不存在的东西,或者我完全注释掉激活块,则使用默认配置文件,因此Maven似乎正在积极地将我的OSX与Unix系列操作系统匹配.

maven-2 maven maven-profiles rpm-maven-plugin

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

在获取双向集合时如何避免Hibernate中的无限循环?

我试图在一个非常简单的Hibernate示例中填充一些实体对象.我的数据库由两个表组成,"部门"(Id,Name)和"Employees"(Id,DepartmentsId,FirstName,LastName).我的SQL查询只是Employees与Departments的左连接.

我已经设置了Hibernate文档中指定的注释,但每当我尝试序列化实体时,Hibernate进入无限循环并最终抛出StackOverFlowError异常.回答我的另一个问题的人能够确定堆栈溢出正在发生,因为"Department"对象包含一组"Employee"对象,每个对象都包含一个"Department"对象,其中包含一组Employee对象等.等等

根据上面链接的文档,这种类型的双向关系应该是合法的(Department中的"mappedBy"参数应该用来表示Hibernate;我也尝试使用在下面的代码中注释掉的"joinColumn"注释)我读过的其他内容表明Hibernate 应该足够聪明,不要在这种情况下进入无限循环,但它不适用于我的例子.如果我通过从Employee类中删除Department对象将双向关系更改为单向关系,一切正常,但显然这会导致丢失大量功能.

我还尝试了旧的xml映射文件的注释,并为子表设置了"inverse"参数,但它仍然会产生同样的问题.我怎样才能使这种双向关系按照预期的方式运行?

部门:

package com.test.model;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.JoinTable;

import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.JoinColumn;

import org.hibernate.Hibernate;
import org.hibernate.proxy.HibernateProxy;

@Entity
@Table(name="Departments"
,catalog="test"
)
public class Department implements java.io.Serializable {

 private Integer id;
 private String name;
 public Set<Employee> employees = new HashSet<Employee>(0);

public Department() {
}


public Department(String name) {
    this.name = name;
}
public Department(String name, Set employees) { …
Run Code Online (Sandbox Code Playgroud)

java hibernate struts2

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

尝试在Selenium下运行Chromedriver时,为什么Chrome无法启动?

所以我之前有一个Chromedriver/Selenium设置工作,但现在尝试在一台新机器上安装所有东西(64位Linux)它给了我一些问题,并没有真正告诉我什么是绊倒.

我正在使用Selenium的独立服务器版本2.37.0和nodejs以及最新版本的Chromedriver(我也尝试过Chromedriver 2.0,我之前使用的早期版本,结果相同).

如下面的输出所示,当我尝试使用webdriver运行脚本时,我收到的错误包括:Caused by: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally.我没有从chromedriver获得日志输出,只从Selenium输出(带错误)和Node.js输出(尝试运行测试脚本).

谁能让我知道我在这里做错了什么?

编辑:我忘了补充说,失败后有一个Chromedriver运行的过程,所以这件事是可以的,我的Chrome可执行文件确实在/ etc/bin/google-chrome,就像Chromedriver想要的那样.

Output:

一旦我启动并运行selenium,我就试图运行一个包含内容的简单测试脚本:

var webdriverjs = require("webdriverjs");
var client = webdriverjs.remote({desiredCapabilities:{browserName:"chrome"}}); // to run in chrome
client
.init()
.url("https://github.com/")
.end();
Run Code Online (Sandbox Code Playgroud)

运行测试脚本的Node.js控制台输出如下所示:

[1;33m=====================================================================================[0m

Selenium 2.0/webdriver protocol bindings implementation with helper commands in nodejs by Camilo Tapia.
For a complete list of commands, visit [1;32mhttp://code.google.com/p/selenium/wiki/JsonWireProtocol[0m. 
Not all commands are implemented yet. visit [1;32mhttps://github.com/Camme/webdriverjs[0m for more info on webdriverjs. 

[1;33m=====================================================================================[0m

[1;30m[21:31:09]: [0m [0;35mCOMMAND [0mPOST      "/wd/hub/session" …
Run Code Online (Sandbox Code Playgroud)

selenium webdriver node.js selenium-chromedriver selenium-webdriver

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