我已经在Stack Overflow上找到了如何在项目中包含第三方JAR而不将其安装到"本地存储库"的答案:
我可以在没有安装的情况下将jar添加到maven 2 build classpath吗?
但是,当我使用Maven Shade插件创建包含项目所有依赖项的JAR时,第三方JAR不会自动包含在内.
如何让Maven Shade插件将这样的第三方JAR添加到着色的JAR中?
根据得到的答案,我做到了.我做的是,将这个片段添加到我的pom.xml的开头:
<repositories>
<repository>
<id>repo</id>
<url>file://${basedir}/repo</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
然后为我的项目添加了一个依赖项,也添加到pom.xml:
<dependencies>
<dependency>
<groupId>dummy</groupId>
<artifactId>dummy</artifactId>
<version>0.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
然后运行命令行将包添加到'repo':
mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file
-Dfile=<my-jar>.jar -DgroupId=dummy -DartifactId=dummy
-Dversion=0.0.0 -Dpackaging=jar -DlocalRepositoryPath=`pwd`/repo/
Run Code Online (Sandbox Code Playgroud)
(不确定repo路径是否需要完整路径,但不想冒险.)
repo子目录的内容现在是:
repo/dummy/dummy/0.0.0/dummy-0.0.0.jar
repo/dummy/dummy/0.0.0/dummy-0.0.0.pom
repo/dummy/dummy/maven-metadata-local.xml
Run Code Online (Sandbox Code Playgroud)
现在我可以将其检入版本控制,并且没有本地或远程依赖项.
网似乎充满了Velocity和FreeMarker之间的比较,它们似乎相当合理.但似乎几乎没有StringTemplate和FreeMarker之间的比较!
那么,StringTemplate和FreeMarker之间的主要区别是什么?
我对它们的用法是仅生成HTML页面.在这两个中,我会期望FreeMarker更合适,更有能力,因为这似乎更常见 - 但通过快速浏览一下,看起来StringTemplate实际上有更合适的功能!
如果使用过两者的人都有时间发表评论会很棒 - 对于实际细节,我可以并排阅读文档,但我想要开始使用.
我对直接场依赖注入感兴趣.传统上,Spring支持构造函数注入(为构造函数提供参数)和基于setter的注入(在调用时调用setter).
但是,Spring也能够直接注入场景(在没有setter方法的情况下设置对象的成员字段),通过使用注释字段来证明@Autowired.自动装配仅限于"bean",因此无法注入原始值(虽然这可以通过创建类"java.lang.String"的bean来规避 - 这可行,但具有正常的自动装配警告.)除了这个,Spring支持@Value直接从属性等设置成员字段的值.
但是,Spring不允许将属性直接设置为成员字段(不使用自动装配).
我的问题是:为什么?
它显然有能力这样做,为什么不呢?是否有任何大的负面副作用阻止这种情况?或者这种能力是否有限,只有自动装配才有意义?它是否需要比调用setter更大的黑客攻击?
请注意,我不想讨论一般的setter和getter的相对优点,只是Spring做出这个选择的原因.
我需要为java应用程序处理一组相对复杂的配置参数.要求大致如下:
现在,我知道Spring以某种方式实现了所有这些.然而,它有一些缺点,但没有致命的:
所以,我问,你能想到任何能满足我要求的替代方案吗?
我有点像YamlBeans,但缺少一些功能.
很明显,一般来说,read(2)系统调用返回的字节数少于要求读取的字节数.但是,相当多的程序都假设在使用本地文件时,read(2)永远不会返回少于所询问的内容(当然,除非文件更短).
所以,我的问题是:在Linux上,在这种情况下,如果从打开的文件读取并且没有遇到EOF并且读取的数量最多是几千字节,那么读取(2)的返回数量少于请求的数量?
一些猜测:
我需要实现一个可以从互联网上公开访问的服务器.服务器有一个非常简单的任务:
这个服务器通常承受的负载是最小的,但由于没有访问限制,服务器显然可以被DOS等攻击.
但是,真正的问题是安全性对于服务器来说绝对是最重要的 - 服务器参与支付交易的数量足够大,使其成为理想的破解目标.服务器位于IPS后面,但是直接连接到互联网,将直接终止来自最终用户浏览器的HTTPS连接,而无需任何中间反向代理或SSL加速器等.
所以,我的问题是,哪个Java Web服务器是最安全的选择呢?
或者,如果你真的认为这些请求不应该由Java直接接收,而是由lighttpd或其他东西接收,你可以提出其他建议.但只有它能满足上面给出的要求.
一个非常好的答案将触及这些问题:
我想建立一个可靠的软件开发路径.这意味着在接受之前,代码的每次更改都必须由作者和一位审阅者签名.这些更改的签名必须在发布时可以验证,或者必须有一些其他方法可以确保存储库不会被篡改,或者添加其他更改.
我期望用于此的版本控制系统是git,但也接受其他选项.签名可以通过GnuPG或SSL证书进行.
我想的工作流程大致是:
合并不一定是万无一失的,例如未经审查的更改需要无法合并到中继 - 只是在发布之前,需要有一种方法来检查中继中是否有任何未查看(未签名)的更改.并且通常,不需要防止篡改,仅检测到篡改.
我想要一个关于如何设置它以及每个操作如何完成的简短指南.一旦我得到一些指示,我可以自己弄清楚具体细节.
另外,我在技术上已经知道'git tag -s',但我不确定如何将它应用于这个特定问题.
我有一个本地文件系统映像,我想将其传输到Amazon EBS卷并作为EC2微实例启动.该实例应具有EBS卷作为其根文件系统 - 我将使用Amazon PV-GRUB"内核"启动该实例.
我已经使用ec2-bundle-image从图像创建一个包,我使用ec2-upload-bundle将包上传到Amazon S3.但是,现在当我想使用ec2-register注册图像以供使用时,我似乎无法找到一种方法来使上传的包成为ebs根图像.它似乎需要一个EBS快照来制作根设备,我不知道如何将捆绑包转换为EBS快照.
我确实意识到,我可以通过启动一个"常见"实例,将EBS卷附加到它然后只使用'scp'或其他东西将图像直接传输到EBS卷来实现这一点 - 但这真的是唯一的方法?此外,我不想使用EBS快照,我宁愿没有 - 我可以创建一个只有EBS卷作为root的微实例,没有EBS快照吗?
我想从java字节数组中读取一个JSON"树",并使用Jackson将JSON"树"作为java字节数组写回.一种方法如下所示:
ObjectMapper om = new ObjectMapper();
JsonNode old = om.createObjectNode();
byte[] arr = om.writeValueAsBytes(old);
JsonNode new = om.readTree(arr);
Run Code Online (Sandbox Code Playgroud)
但是,杰克逊最近建议使用ObjectReader和ObjectWriter而不是ObjectMapper,因为配置中的线程安全,但也因为可能只与它们相关的优化.但是,ObjectReader不支持直接使用字节数组的readTree,而writeValueAsBytes比writeTree更通用,因此可能有某种方式(和理由)以某种方式跳过类型映射逻辑.
那么,今天,使用最新的Jackson(2.5),进行这两次转换的最快/最佳/推荐方式是什么?
Google Wave中使用的操作转换内容具有相当好奇的文档格式.文档基本上只是一个xml子集文档 - 字符,开始标记和结束标记.除此之外,文档具有"注释",其是与范围相关联的元数据,例如开始位置和结束位置.白皮书证明了他们的存在:
Wave文档操作也支持注释.注释是与项目范围相关联的一些元数据,即开始位置和结束位置.这对于描述文本格式和拼写建议特别有用,因为它不会使底层结构化文档格式不必要地复杂化.
我当然可以看到如果选择文档中的任意范围并且例如用粗体显示会有些困难 - XML标记嵌套是严格的并且会导致打开和关闭标记插入的混乱.
但是,这实际上是一个问题吗?我的意思是,是否必须支持这样的操作,如果不是使编辑器基本上模仿多年的文字处理范例而不是结构化编辑器?将纯XML操作转换为文档结构只是简单的HTML5会是那么可怕吗?是一个性能问题,样式会在文档中作为标记吗?或者,如果操作转换模型用标记表示,它们会以某种方式在文本格式上产生令人不满意的结果吗?
另外,一个侧面问题 - 纯粹的"插入字符,删除字符,保留"操作变换模型在纯文本表示中有多好?例如,将HTML5编辑为文本 - 还是编辑维基百科文章?
我有一些VHDL文件,我可以ghdl在Debian上编译.一些人已经为ASIC实现调整了相同的文件.算法有一个"大面积"实现和一个"紧凑"实现.我想写一些更多的实现,但为了评估它们,我需要能够比较不同实现需要多少区域.
我想在不安装任何专有编译器或获得任何硬件的情况下进行评估.足够的评估标准是对GE(门等效)面积的估计,或某些FPGA实现所需的逻辑片数.
java ×6
spring ×2
amazon-ebs ×1
amazon-ec2 ×1
amazon-s3 ×1
c ×1
filesystems ×1
freemarker ×1
git ×1
gnupg ×1
google-wave ×1
hdl ×1
jackson ×1
json ×1
linux ×1
maven-2 ×1
security ×1
system-calls ×1
velocity ×1
verilog ×1
vhdl ×1
webserver ×1