小编Ric*_*ich的帖子

Eclipse用户库将现有jar报告为"缺失"

Eclipse Indigo

我使用用户库来管理eclipse中构建的依赖项集.

到目前为止,这是非常直接的,但是今天我有一个新的jar依赖项,我需要添加到用户库.我在User Library页面中单击Add Jar并将jar放在我的文件系统中.它出现在用户库的jar列表中,一切看起来都很好.

然后我关闭窗口,当我重新打开用户库视图时,该库现在出错了.它现在报告JAR丢失了.我注意到的唯一奇怪的事情是它现在将路径列为不正确的绝对路径,而不是像其他jar展示的相对路径.我无法编辑它显示的这条路径.我所能做的就是单击以找到文件系统中的jar,它已经加载为正确文件夹中的确切jar.

java eclipse jar

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

Java重写hashCode()获取StackOverflowError

所以我不太精通覆盖hashCode,我似乎有一些无限的递归以某种方式继续使用hashCode方法.

这是我的场景,我有一个类DuplicateCache,它是一个缓存对象,用于检查系统中的重复对象.我有一个静态内部类Duplicate,它表示Duplicate对象.

DuplicateCache维护一个HashMap来跟踪其所有条目.每个条目都包含一个Duplicate对象作为键,Long对象作为值.

我正在使用Duplicate对象键执行所有操作,当我将put方法运行到HashMap中时,Duplicate对象的hashCode()方法中会出现无限递归.

重复的hashCode()方法调用另一个我必须覆盖的类的hashCode,所以我将在之后包含它

不用多说了,这是我的违规复制类的代码:

public static class Duplicate{
    private String merchId;
    private String custId;
    private MagicPrice price;
    private int status;
    private boolean compareStatus;

// snip methods        

    @Override public boolean equals(Object o){
        cat.debug("In the override equals method of Duplicate"); //DELETEME

        if(o instanceof Duplicate)
            return equals((Duplicate) o);
        else
            return false;
    }

    @Override public int hashCode() {
        return merchId.hashCode() + custId.hashCode() + price.hashCode();
    }


    /*Equals method vital to the HashMap cache operations

    How the compareStatus and status fields change this:
    if …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow overriding hashcode

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

JasperReports没有正确读取参数?

我正在使用Tapestry 5.1.0.5框架编写一个用Java编写的Web应用程序.这个框架没有对JasperReports的开箱即用支持,所以我编写了一个修改ChenilleKit的JasperReport服务的服务.我不依赖于ChenilleKit版本,而是使用JasperReport 3.5.0依赖.这可能不是必要的信息,但具体而言从不会受到伤害.

无论如何,我的服务工作得很好.我把它内置到webapp中,我能够编译和输出PDF,XLS,HTML和CSV格式的基本报告.但是,我在jasperReport XML文件中获取SQL以正确加载参数映射时遇到了很大的问题.

尝试使用startdate和enddate参数运行报表时出现以下错误.

SQLException: Missing IN or OUT parameter at index:: 1
Run Code Online (Sandbox Code Playgroud)

SQL知识会说这意味着我有某种形式的参数没有传递给SQL.调试语句向我表明我正在传递参数,并且至少有一些正在进入XML报告.

例如,我将三个参数传递给报表,Title,StartDate和EndDate.标题显示在报告的呈现中,但StartDate和EndDate似乎在翻译中丢失了?

我不确定我缺少什么,因为几乎相同的代码在我公司的基于JSP-Tomcat-Servlet的JasperReports应用程序中运行.

无论如何,我将开始显示代码并解释发生了什么:

public StreamResponse getReport(String reportTitle, ExportFormat formMode, Date startDate, Date endDate) {
    Map<String,String> parameterMap = loadParameters(reportTitle);
    Connection conn = null;
    OutputStream os = new ByteArrayOutputStream();

    try{
        conn = Report.getConnection();

        Resource resc = new ContextResource(cimpl, "src/main/webapp/reports/"+reportTitle+".xml");

        log.debug("Calling fillAndExport to fetch the report " + reportTitle);
        log.debug("resource="+resc+"\n"+"formMode="+formMode+"\n"+"parameterMap="+parameterMap+"\n"+"conn="+conn+"\n"+
                "outputStream="+os);

        SimpleDateFormat repDate = new SimpleDateFormat("MM/dd/yyyy HH:mm");
        parameterMap.put("StartDate", repDate.format(startDate));
        parameterMap.put("EndDate", repDate.format(endDate));

        log.debug("StartDate into report: " + parameterMap.get("StartDate")); …
Run Code Online (Sandbox Code Playgroud)

java sql tapestry jasper-reports

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

链接器错误与头文件中的类的私有成员

我正在尝试在Visual Studio 2008中构建一个项目.我收到了一堆真正困扰我的链接器错误.我的应用程序是仅使用本机ANSI C++的Win32控制台应用程序.

它们都是相同模式的链接器错误.链接器错误与我在自己的头文件中定义的类的每个私有静态数据成员相关.

我猜这可能是一个简单的c ++事实我还没有意识到?

示例:我在Delays.cpp文件中引用SingleDelay成员类的函数定义中的SingleDelay成员.即:

SingleDelay::tick(void *output, void *input, int nbufferFrames)<br>{
   //.. code here<br>
   x = dry * castInput + wet * castInput;<br>
}
Run Code Online (Sandbox Code Playgroud)

错误38错误LNK2001:未解析的外部符号"private:static double SingleDelay :: dry"(?dry @ SingleDelay @@ 0NA)Delays.obj testall

Delays.h中SingleDelay的定义:

class SingleDelay{

    private:  
        static double dry; //% of dry signal<br>
        static double wet; //% of wet signal<br>
        static unsigned int delay; //Delay in milliseconds<br>
        static int delayCell; //Index in the delayBuffer of the delay to add<br>
        static double *delayBuffer; //Delay buffer is …
Run Code Online (Sandbox Code Playgroud)

c++ linker header include

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

复杂错误LNK2005:已经定义了C++

我正在获取LNK2005:在Visual Studio 2008中构建我的项目时已经在(...)错误中定义了.我引用了其他相关问题,但是我觉得有点复杂,因为如果没有别的话我正在使用的文件.

首先,我认为以格式[current_file] - > includes_this_file映射我项目文件中的#include语句对我有所帮助.

我的所有头文件都使用标准的#ifndef [Header] #define [Header] ... #endif.

[Modulator.h]

Modulator类的原型

[ChorusUnit.h] - > Modulator.h

合唱类的原型,其成员对象类型为Modulator

[AudioHandler.h] - > ChorusUnit.h

AudioHandler类的原型,它具有Chorus类的成员对象

[Chorus.cpp] - > AudioHandler.h

调制器和合唱类成员的定义

[AudioHandler.cpp] - > Chorus.cpp

AudioHandler类成员的定义

[ChorusUnit.cpp] - > AudioHandler.cpp

包含main()函数的文件,该函数实际运行我的项目代码.

包含的顺序是因为在Modulator.h,ChorusUnit.h和AudioHandler.h中找到的类的函数的所有定义都需要引用其他类的成员,所以我需要首先为所有类定义的原型才能看到彼此.

该错误明确指出在Chorus.obj文件中的Chorus.cpp和AudioHandler.cpp中找到的每个定义都已在AudioHandler.obj中定义.还有另一组相同的错误类型,表示在Chorus.cpp中找到的每个单一定义,文件ChorusUnit.obj中的AudioHandler.cpp已在AudioHandler.obj中定义.

可能有一个非常直接的解决方案,但我并不是特别经验(主要是Java程序员).至于我对这个问题的有限知识,我只定义了一次,所有内容都只包含一次,所以我个人不知道为什么这些已经定义了.有些请赐教!

c++ linker visual-studio-2008

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

在Maven项目中实现JSF Composite Component

似乎人们能够在SWF 2.3.1中实现复合组件,但我无法找到明确的参考方法.我已经遵循JSF复合组件的基本结构,但我的SWF应用程序似乎没有识别taglib命名空间.

有一个工具包/ IDE警告,但更重要的是在浏览器中看到运行时警告,JSF在屏幕上向用户显示以下警告:

Warning: This page calls for XML namespace http://java.sun.com/jsf/composite/myjsf declared with prefix mj but no taglibrary exists for that namespace.
Run Code Online (Sandbox Code Playgroud)

组件定义:

src/main/resources/myjsf/testComponent.xhtml:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:composite="http://java.sun.com/jsf/composite">

<composite:interface>
    <composite:attribute name="attr" />
</composite:interface>
<composite:implementation>

#{cc.attrs.attr});          

</composite:implementation>
</html>
Run Code Online (Sandbox Code Playgroud)

在给定的xhtml中引用:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:mj="http://java.sun.com/jsf/composite/myjsf">

  <!-- snip -->

  <mj:testComponent attr="x" />

</ui:composition>
Run Code Online (Sandbox Code Playgroud)

jsf maven composite-component

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