编译时提示“软件包 org.apache.log4j 不存在”

353 views
Skip to first unread message

lazyman

unread,
Jul 5, 2009, 12:14:41 PM7/5/09
to Maven中文
mvn package
http://paste.org/8849


mvn dependency:copy-dependencies, dependency:list
http://paste.org/8850

Sutra Zhou

unread,
Jul 5, 2009, 12:19:34 PM7/5/09
to mave...@googlegroups.com
缺少依赖 log4j 呗。

2009/7/6 lazyman <dchra...@gmail.com>:

lazyman

unread,
Jul 5, 2009, 12:21:51 PM7/5/09
to Maven中文
怎么解决


On 7月6日, 上午12时19分, Sutra Zhou <zhoushu...@gmail.com> wrote:
> 缺少依赖 log4j 呗。
>

> 2009/7/6 lazyman <dchrain...@gmail.com>:


>
>
>
> > mvn package
> >http://paste.org/8849
>
> > mvn dependency:copy-dependencies, dependency:list

> >http://paste.org/8850- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Sutra Zhou

unread,
Jul 5, 2009, 12:36:44 PM7/5/09
to mave...@googlegroups.com
加依赖呀,我昏。

2009/7/6 lazyman <dchra...@gmail.com>:

Sutra Zhou

unread,
Jul 5, 2009, 12:40:02 PM7/5/09
to mave...@googlegroups.com
<dependencies>
....
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
....


另外说一点,代码中不应该直接依赖log4j,而应该直接依赖commons-logging或者slf4j。

2009/7/6 Sutra Zhou <zhous...@gmail.com>:

Juven Xu

unread,
Jul 5, 2009, 12:49:40 PM7/5/09
to mave...@googlegroups.com
嗯,似乎slf4j更先进一点,呵呵。

2009/7/6 Sutra Zhou <zhous...@gmail.com>:

--
- Juven Xu | Software Developer | Suzhou China

lazyman

unread,
Jul 5, 2009, 12:49:41 PM7/5/09
to Maven中文
谢谢
关于另一点是为什么

On 7月6日, 上午12时40分, Sutra Zhou <zhoushu...@gmail.com> wrote:
> <dependencies>
> ....
> <dependency>
> <groupId>log4j</groupId>
> <artifactId>log4j</artifactId>
> <version>1.2.15</version>
> </dependency>
> ....
>
> 另外说一点,代码中不应该直接依赖log4j,而应该直接依赖commons-logging或者slf4j。
>

> 2009/7/6 Sutra Zhou <zhoushu...@gmail.com>:
>
>
>
> > 加依赖呀,我昏。
>
> > 2009/7/6 lazyman <dchrain...@gmail.com>:


> >> 怎么解决
>
> >> On 7月6日, 上午12时19分, Sutra Zhou <zhoushu...@gmail.com> wrote:
> >>> 缺少依赖 log4j 呗。
>
> >>> 2009/7/6 lazyman <dchrain...@gmail.com>:
>
> >>> > mvn package
> >>> >http://paste.org/8849
>
> >>> > mvn dependency:copy-dependencies, dependency:list
> >>> >http://paste.org/8850-隐藏被引用文字 -
>

> >>> - 显示引用的文字 -- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Juven Xu

unread,
Jul 5, 2009, 12:52:38 PM7/5/09
to mave...@googlegroups.com
我来解释下,log4j,还有java.util.log,都是log的实现
而commons-log, slf4j,都是api,负责调用下层的log实现
也就是说,你用过了api,就可以换实现,还可以同时使用多种实现(比如说你用log4j了,但你的依赖用java.util.log了。
OO原则如是说:依赖接口,而不是依赖实现。

2009/7/6 lazyman <dchra...@gmail.com>:

--

Reply all
Reply to author
Forward
0 new messages