问题列表 - 第4354页

如何为不同的ant任务提供自定义log4j.xml?

我有一个构建文件,作为构建过程的一部分依赖于几个taskdef.这些taskdef项(例如,webdoclet和jasper2)使用log4j作为记录器.理想情况下,我希望能够为每个提供不同的log4j配置文件,但最低限度,我希望能够指定使用哪个log4j配置文件.

我以前做的工作是在类路径的前面放置包含我希望taskdef使用的log4j.xml的目录.例如:

<target name="define.jasper2">
  <path id="jspc.classpath">
      <!-- Put this FIRST so Jasper will find the log4j.xml in the Build directory -->
      <pathelement location="Build"/>
      <fileset dir="${tomcat.libs}">
             ....
      </fileset>
      <pathelement location="${log4j.jar}"/>
      ....
  </path>

  <taskdef name="jasper2" classname="org.apache.jasper.JspC" classpathref="jspc.classpath"/>
</target>

事实上,我已经验证了"Build"目录位于类路径的前面,并且该目录中存在log4j.xml.但是,当我在调试时使用log4j以详细模式运行ant时,我看到log4j正在选择当前工作目录中的log4j.xml ,这不是我想要的.Log4j似乎没有使用类路径来解析默认的log4j.xml.

我正在使用log4j 1.2.8(嵌入在一个更大的框架中,所以我无法升级它),其中一些taskdef似乎依赖于commons-logging 1.0.3.构建过程使用Sun Java 5.

如果我set ANT_OPTS=-Dlog4j.configuration=Build/log4j.xml在运行ant之前,taskdefs正确加载了所需的log4j.xml.

将"Bu​​ild"目录放在类路径的前面,用于工作的taskdef.我不知道改变了什么.如何恢复我可以控制的行为 - 在build.xml中 - 哪个log4j配置文件用于给定任务?除了设置ANT_OPTS以外,还有其他方法可以将应用程序的log4j.xml移出当前工作目录以使log4j找到正确的log4j.xml文件吗?

java ant log4j taskdef

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

如何简化null安全的compareTo()实现?

我正在compareTo()为一个简单的类实现方法(为了能够使用Collections.sort()和Java平台提供的其他好东西):

public class Metadata implements Comparable<Metadata> {
    private String name;
    private String value;

// Imagine basic constructor and accessors here
// Irrelevant parts omitted
}
Run Code Online (Sandbox Code Playgroud)

我希望这些对象的自然顺序为:1)按名称排序; 2)如果名称相同则按值排序; 两种比较都应该不区分大小写.对于这两个字段,空值完全可以接受,因此compareTo在这些情况下不得中断.

脑海中出现的解决方案与以下几行相似(我在这里使用"保护条款",而其他人可能更喜欢单个返回点,但这不是重点):

// primarily by name, secondarily by value; null-safe; case-insensitive
public int compareTo(Metadata other) {
    if (this.name == null && other.name != null){
        return -1;
    }
    else if (this.name != null && other.name == null){
        return 1;
    }
    else if (this.name != null && …
Run Code Online (Sandbox Code Playgroud)

java comparison null refactoring compareto

147
推荐指数
7
解决办法
14万
查看次数

Silverlight中最大的问题是什么?

我最近一直在Silverlight工作,我慢慢地发现,尽管开发起来很简单但是有一两个令人烦恼的陷阱隐藏在阴影中.

考虑到其中一些有些难以找到我,我认为将它们列在这里以供其他人受益可能是有用的.我确信我遇到的那些与其他人的经历相比毫无意义,我想尽量避免任何其他令人讨厌或耗时的惊喜.

那么,你有什么?

更新
我已更新此内容以涵盖Silverlight.因此,请提供与响应时相关的版本或列表版本.对于没有版本的所有人,请假设Silverlight 2.0,因为原始问题就是这种情况.

silverlight

19
推荐指数
4
解决办法
4913
查看次数

SQL中ENUM列的大小?

数据库(mySQL,如果一个特定的例子很重要)如何确定存储ENUM所需的列的大小?

对于少于256个枚举选项等,它是否像单个字节一样简单?

mysql sql enums

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

WCF身份验证

在WCF中是否存在某种"内置"身份验证?我需要向我们的客户公开Web服务,以便他们可以检查他们的交易状态.

我最初的想法是他们只使用传入的普通用户名和密码作为方法属性.当然,它会通过SSL,但这种身份验证方法不安全吗?

除了传递方法参数之外,WCF是否有更好的方法允许对请求进行身份验证?

.net security authentication wcf

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

Zend Framework:如何删除Zend Form Hidden Element上的装饰器?

我正在尝试删除隐藏表单元素上的默认装饰器.默认情况下,隐藏元素显示如下:

<dt>Hidden Element Label (if I had set one)</dt>
<dd><input type="hidden" name="foobar" value="1" id="foobar"></dd>
Run Code Online (Sandbox Code Playgroud)

我不希望我的隐藏元素占用我页面上的空间.我想删除所有默认装饰器,所以我剩下的就是输入标签.

<input type="hidden" name="foobar" value="1" id="foobar">
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

zend-framework zend-form zend-decorators

49
推荐指数
6
解决办法
5万
查看次数

数据库之间有哪些主要区别?

我不是任何数据库的狂热者,但我希望看到供应商之间的差异.

例如,我主要使用Oracle,我发现其他人(MySQL,SQL Server,PostgreSQL,...)不能这样做:

SQL Server也是如此,其他人无法做到:

database comparison

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

是否有一个稳定安全的CMS,可以轻松(通过文档和社区)编写插件/模块?

我正在考虑建立一个网站,以获得某种面向公众的内容,但与此同时,我希望能够在没有太多麻烦的情况下构建模块和插件.我正在研究像Wordpress,Joomla和Drupal这样的东西,但我想知道是否有人有使用和(更具体地)开发这些应用程序的个人经验.

就个人而言,我正在寻找PHP中的一些东西,但是如果你知道其中一种语言,可以随意发布它以帮助那些正在寻找类似X/Y/Z语言的人.

web-applications content-management-system

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

如何检查c#中的类是否只读?

我可以编写一个单元测试来确保我写的只读类(没有setter的类)将来仍然只读吗?我不希望任何人在我的类中添加setter属性.

基本上,我如何检查一个类是否在C#中没有setter?

.net c# unit-testing

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

操作可能会破坏运行时的稳定性:LinqToSQL

尽管这是我见过的最好的错误信息之一(仅次于"此操作可能会破坏时空连续体中的租金"),但它也是最令人沮丧的事情之一.

我开发了一个ASP.NET MVC站点,它可以通过VS2008完美运行.它完美地托管在本地IIS7服务器(Win2008Server和Win7beta)上,以及另一个Win2008Server主机上.几天前,我将网站上传到新主机(Win2008Server),并且只要评估了我的LinqToSQL语句中的一个(并且只有一个),就会遇到"操作可能会破坏运行时"的错误.

有问题的Linq语句已被简化为默默无闻,并且每当我评估结果时,错误都会发生:

var result = from e in db.calendarEvents select e;
foreach (var event in result)  // error occurs on this line
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

有问题的远程主机完全信任,并且看不到切换语句(这两个问题在Google上出现与错误相关).

操作中报告的类似问题可能会破坏运行时的稳定性?,但没有使用接口(我知道).

有任何想法吗?

---只是暂停:有问题的表使用TIME数据类型,并映射到TimeSpan属性.显然,这仅适用于.NET 3.5 SP1.我等着看我的新主机是否安装了SP1 ...

linq asp.net-mvc linq-to-sql

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