小编Car*_*icz的帖子

记录框架不兼容

我正在构建一个小型Java应用程序,并希望使用logback进行日志记录.

我的应用程序依赖于通过其进行日志记录的旧项目

org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
Run Code Online (Sandbox Code Playgroud)

......所以我的计划是使用

org.slf4j | jcl-over-slf4j | 1.5.6
Run Code Online (Sandbox Code Playgroud)

...将JCL日志记录重定向到

org.slf4j | slf4j-api | 1.6.0
Run Code Online (Sandbox Code Playgroud)

......最终到了

ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
Run Code Online (Sandbox Code Playgroud)

所以我的应用程序可以通过其slf4j API登录logback,而旧的库代码可以通过重定向登录到同一位置.

唉,这导致了

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at   org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141)
Run Code Online (Sandbox Code Playgroud)

我已经在其中一些罐子上尝试过更高和更低的版本号,并且还通过API文档等进行挖掘...但我无法找到并解决问题.

请帮忙?

虽然logback被认为是"战略"日志框架,但我有一些余地,我最终使用哪种日志记录机制.我希望使用logback或log4j,我肯定希望通过常见配置将旧项目的日志记录合并到"新"日志框架最终的任何内容中.

java compatibility logback apache-commons slf4j

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

是否存在无法使用尾递归编写的问题?

尾递归是函数式语言中一个重要的性能优化策略,因为它允许递归调用消耗常量堆栈(而不是O(n)).

是否有任何问题根本无法以尾递归方式编写,或者总是可以将天真递归函数转换为尾递归函数?

如果是这样,有一天功能编译器和解释器可能足够智能以自动执行转换?

recursion functional-programming tail-recursion

47
推荐指数
4
解决办法
6799
查看次数

您推荐哪种Swing布局?

仅Java库中就有8个布局管理器,然后还有一堆第三方产品.

前几天,我试图使用SpringLayout ......好吧,它对我不起作用.看到我的另一个问题.所以...如果你有一个Swing应用程序的设计,并希望您的布局只是这样,什么是您的首选布局管理器?有关的任何有趣/有用的经历?

更新:是的,确定我知道不同的LM适合不同的布局.但是我希望大多数人在你做的大部分事情中都使用1,2或3,或者你发誓这是一个多才多艺的你永远不需要的东西.有足够的响应,我希望看到类似钟形曲线,GridBagLayout或MigLayout(例如)上的峰值以及使用(例如)BoxLayout或FlowLayout的几个散乱者的长尾.

希望,回复的分布将揭示人们最常使用什么来获取Stuff Done ™的一些趋势


更新和摘要

好的,差不多2天后,MiGLayout绝对不在眼前!它的粉丝很高兴听到这个布局很快就会进入"官方"图书馆.

GroupLayout,FormsLayout和TableLayout相对较新,并没有得到太多曝光.也许其他人会像我一样惊讶地发现它们.

java layout swing layout-manager

43
推荐指数
11
解决办法
4万
查看次数

如何在Ubuntu Linux下编译C++?

我将上一个问题中的以下代码剪切并粘贴到名为"avishay.cpp"的文件中,然后运行

gcc avishay.cpp
Run Code Online (Sandbox Code Playgroud)

仅从链接器获取以下错误消息.出了什么问题,我该怎么做?

carl@carl-ubuntu:~/Projects/StackOverflow$ gcc -static avishay.cpp 
/tmp/cccRNW34.o: In function `__static_initialization_and_destruction_0(int, int)':
avishay.cpp:(.text+0x41): undefined reference to `std::ios_base::Init::Init()'
avishay.cpp:(.text+0x46): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cccRNW34.o: In function `A::func()':
avishay.cpp:(.text._ZN1A4funcEv[A::func()]+0x11): undefined reference to `std::cout'
avishay.cpp:(.text._ZN1A4funcEv[A::func()]+0x16): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
avishay.cpp:(.text._ZN1A4funcEv[A::func()]+0x1e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
avishay.cpp:(.text._ZN1A4funcEv[A::func()]+0x26): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
avishay.cpp:(.text._ZN1A4funcEv[A::func()]+0x36): undefined reference to `std::cout'
avishay.cpp:(.text._ZN1A4funcEv[A::func()]+0x3b): undefined reference …
Run Code Online (Sandbox Code Playgroud)

c++ gcc

28
推荐指数
4
解决办法
17万
查看次数

在Clojure中,如何定义一个由字符串命名的变量?

给定变量的名称列表,我想将这些变量设置为表达式.

我试过这个:

(doall (for [x ["a" "b" "c"]] (def (symbol x) 666)))
Run Code Online (Sandbox Code Playgroud)

......但这会产生错误

java.lang.Exception:def的第一个参数必须是Symbol

有谁能告诉我正确的方法,请?

symbols function clojure

18
推荐指数
3
解决办法
6359
查看次数

是什么让Ruby成为优雅语言?

过去几天我一直在阅读很多关于Ruby的内容.我遇到的所有SO帖子都听说ruby是一种优雅的语言.你们能举个例子说明为什么红宝石比另一种语言更优雅?

ruby ruby-on-rails

12
推荐指数
3
解决办法
3751
查看次数

包资源管理器中文件夹的字体设置在哪里?

我说的是Eclipse(3.5 = Galileo),在Kubuntu 9.10下运行,我有Subversive插件.

我已经从Gnome-Ubuntu转移到Kubuntu了,另一个副作用是现在有些字体太小而无法阅读.

资源管理器中的文件名大小合适,但文件夹以太小的字体显示,调整后General|Appearance|Colors and Fonts文件夹中的所有字体都保持不变.

也许我只是瞎了.如果有人能指出我可以在Package Explorer中调整文件夹字体的位置,我会很感激

eclipse ubuntu

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

编写一个36位随机数发生器

我正在一个具有特色的环境中编写应用程序

  • 36位一的补码整数
  • 算术限于+,-,*,/和余
  • 没有像AND或的位操作OR.但由于一个人的补充,XOR相当于减法和NOT否定.
  • 数字溢出是致命的,因此不能用于静默截断
  • 是的,有条件:IF/THEN/ELSEIF/ELSE/IF.

理想情况下,我想要35或36位随机整数,但25位也足够了.

如果基于足够大的数字,我的线性同余生成器的天真实现会遇到溢出,并且当我使用较小的数字时,只生成少量的位.

因此,我正在寻找一组数字a,c,m,它们将产生约束中的最大位数,或者合理地调整LCG以组合2个或更多数字.

作为一个起点,这是我到目前为止所使用的:

*DEFINE NextRandom . min,max resultVar
* . This is a very shitty RNG. The numbers were never checked
* . for suitability for a long-period linear congruential generator.
* . But it yields numbers that look vaguely random.
*CLEAR rq
*CLEAR rr
*SET RandZ = RandZ * 169687 …
Run Code Online (Sandbox Code Playgroud)

random algorithm math

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

约束满足问题

我正在努力通过人工智能:现代方法,以减轻我的自然愚蠢.在尝试解决一些练习时,我遇到了"谁拥有斑马"问题,第5章练习5.13 .这是一个关于SO的主题,但回答主要是针对"如果您可以自由选择解决问题的软件,您将如何解决这个问题?"

我接受Prolog是一种非常适合这类问题的编程语言,并且有一些很好的软件包可用,例如在Python中,如排名靠前的答案所示,也是独立的.唉,这一切都没有帮助我以书中概述的方式"强硬".

本书似乎建议构建一组双重或全局约束,然后实现一些提到的算法以找到解决方案.我遇到了一系列适用于建模问题的约束,我遇到了很多麻烦.我正在研究这个问题,所以我无法接触到教授或TA让我超过驼峰 - 这就是我要求你帮助的地方.


我认为本章中的例子几乎没有相似之处.

我渴望建立双重约束,开始了创建(逻辑等价)25个变量:nationality1,nationality2,nationality3,... nationality5,pet1,pet2,pet3,... pet5,drink1... drink5等等,其中数字是表示房子的的位置.

这对于构建一元约束是很好的,例如

挪威人住在第一宫:

nationality1 = { :norway }.
Run Code Online (Sandbox Code Playgroud)

但是大多数约束是通过共同的门牌号码组合两个这样的变量,例如

瑞典人有一条狗:

nationality[n] = { :sweden } AND pet[n] = { :dog }
Run Code Online (Sandbox Code Playgroud)

n显然,在哪里可以从1到5.或者说另一种方式:

    nationality1 = { :sweden } AND pet1 = { :dog } 
XOR nationality2 = { :sweden } AND pet2 = { :dog …
Run Code Online (Sandbox Code Playgroud)

modeling artificial-intelligence constraints

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

定制maven组装

我开始和Maven合作,但还没有成功地用Maven的话来思考.我有一个特定的要求,文档没有给我足够的线索,所以我可以使用一些帮助:

我想创建一个组件

  1. 构建jar-with-dependencies类似此名称的"标准"目标,但不包括几个资源.我想log4j.properties和其他几个配置文件不在 jar中.

  2. 构建一个.ZIP包含在其根目录中的文件,.jar从步骤1以及上面提到的配置文件.

我想从命令行(仅)启动此程序集,因此无需绑定到阶段(或目标?mojo?).优选使用assembly:assemblyassembly:single.

  • 我需要一个自定义程序集描述符吗?
  • 是不是我不能把它嵌入pom.xml?所以它进入src/assembly/something.xml并被引用descriptorRef
  • 我可以将其编码为两个相对简单的程序集,其中一个构建在另一个上(即.Zip程序集使用.Jar程序集)或者我是否必须在一个程序集中执行所有操作?

maven-2 maven-assembly-plugin

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