现在,我有两个Eclipse项目 - 他们都使用Maven 2来实现他们所有的jar依赖性.
在Eclipse中,我将项目Foo包含在项目Bar的构建路径中,以便我可以使用项目Bar中的Foo类.这在Eclipse土地上非常有效,但是当我尝试:
mvn compile
Run Code Online (Sandbox Code Playgroud)
在Bar的目录中,它失败了,因为Maven不知道Eclipse的构建路径中的项目到项目的关系.
如果我使用Ant,我会用它来做一些愚蠢的事情,比如复制foo.jar到项目Bar的类路径中,但据我所知,事情在Maven-land中完成得少得多.
我想知道是否有针对此类问题的标准解决方法 - 看起来它会相当普遍,而我只是缺少一些关于Maven如何工作的基本知识.
我有一个Flex应用程序,我使用Canvas来包含其他几个组件.在该Canvas上有一个Button,用于调用通过系统的特定流.单击"画布"上的任何其他位置都会导致显示详细信息窗格,显示有关此控件所代表的记录的更多信息.
我遇到的问题是,因为按钮位于Canvas中,只要用户单击Button,就会在Button和Canvas上触发click事件.如果用户点击另一个组件覆盖的区域,有没有办法避免在Canvas对象上触发click事件?
我已经创建了一个简单的小测试应用程序来演示问题:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function onCanvasClick(event:Event):void {
text.text = text.text + "\n" + "Canvas Clicked";
}
private function onButtonClick(event:Event):void {
text.text = text.text + "\n" + "Button Clicked";
}
]]>
</mx:Script>
<mx:Canvas x="97" y="91" width="200" height="200" backgroundColor="red" click="onCanvasClick(event)">
<mx:Button x="67" y="88" label="Button" click="onButtonClick(event)"/>
</mx:Canvas>
<mx:Text id="text" x="97" y="330" text="Text" width="200" height="129"/>
</mx:Application>
Run Code Online (Sandbox Code Playgroud)
当您单击按钮时,您将看到文本框中的两个条目,"按钮单击",然后"Canvas Clicked",即使鼠标仅被单击一次.
我想找到一种方法,我可以避免第二个条目,当我单击按钮时,只有"按钮单击"条目,但如果我要点击画布中的任何其他地方"画布单击"进入仍然会出现.
我需要将Java中的当前年份确定为整数.我可以使用java.util.Date()
,但它已被弃用.
我有一个客户端/服务器系统,使用通过使用Perl的LWP的客户端使用HTTP请求和响应传输的XML以及通过Apache运行Perl的CGI.pm的服务器来执行通信.此外,流使用SSL加密,并为服务器和所有客户端提供证书.
该系统运行良好,但客户端需要定期发送大量数据.一个明显的解决方案是压缩客户端上的数据,将其发送出去,然后在服务器上解压缩.而不是这样的实现我自己,我希望能使用Apache的mod_deflate模块的"输入减压"描述这里.
描述警告:
如果您自己评估请求正文,请不要相信Content-Length标头!Content-Length标头反映了来自客户端的传入数据的长度,而不是解压缩数据流的字节数.
因此,如果我提供与压缩数据大小匹配的Content-Length值,则会截断数据.这是因为mod_deflate解压缩了流,但CGI.pm只读取Content-Length限制.
或者,如果我试图超越它并用解压缩的数据大小覆盖Content-Length标头,LWP会抱怨并将值重置为压缩长度,从而给我留下同样的问题.
最后,我试图破解LWP中进行修正的部分.原始代码是:
# Set (or override) Content-Length header
my $clen = $request_headers->header('Content-Length');
if (defined($$content_ref) && length($$content_ref)) {
$has_content = length($$content_ref);
if (!defined($clen) || $clen ne $has_content) {
if (defined $clen) {
warn "Content-Length header value was wrong, fixed";
hlist_remove(\@h, 'Content-Length');
}
push(@h, 'Content-Length' => $has_content);
}
}
elsif ($clen) {
warn "Content-Length set when there is no content, fixed";
hlist_remove(\@h, 'Content-Length');
}
Run Code Online (Sandbox Code Playgroud)
我把推线改为:
push(@h, 'Content-Length' => $clen);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会导致一些问题,即内容(截断或不截断)甚至无法访问我的CGI脚本.
有没有人做过这项工作?我发现这在上传之前对文件进行了压缩,但没有压缩通用请求.
我想让文本显示在Witty中,这是一个开源的Twitter客户端,可以选择.它目前使用自定义文本块显示.我需要使用TextBlock,因为我正在使用textblock的内联来显示和格式化@username和链接作为超链接.经常请求是能够复制粘贴文本.为了做到这一点,我需要使TextBlock可选.
我试图通过使用只读TextBox来显示文本,使其看起来像文本块,但这在我的情况下不起作用,因为TextBox没有内联.换句话说,我不能单独设置或格式化TextBox中的文本,就像我可以使用TextBlock一样.
有任何想法吗?
我们注意到IE7有一个奇怪的行为,在Stack Overflow上发布了代码块.例如,这个小代码块:
public PageSizer(string href, int index)
{
HRef = href;
PageIndex = index;
}
Run Code Online (Sandbox Code Playgroud)
从IE7复制并粘贴,最终结果如下:
public PageSizer(string href, int index){ HRef = href; PageIndex = index; }
不完全是我们想到的..基础HTML源实际上看起来很好; 如果您查看源代码,您会看到:
<pre><code>public PageSizer(string href, int index)
{
HRef = href;
PageIndex = index;
}
</code></pre>
Run Code Online (Sandbox Code Playgroud)
那么我们做错了什么?为什么IE7不能以合理的方式复制和粘贴这个HTML?
更新:这特别与
<pre>
<code>
通过JavaScript在运行时修改的块有关.本机HTML确实可以正确呈现和复制; 它是该HTML的JavaScript修改版本,其行为不符合预期.请注意,复制和粘贴到写字板或Word中是有效的,因为IE与富文本剪贴板中的不同内容相比,记事本从中获取其数据.
我如何使用可能对当前页面产生一些影响的JavaScript操作,但也会更改浏览器中的URL,以便在用户点击重新加载或书签时使用新URL?
如果后退按钮会重新加载原始URL也会很好.
我试图在URL中记录JavaScript状态.
我在Vector中有一组对象,我想从中选择一个随机子集(例如100个项目返回;随机选择5个).在我的第一次(非常草率)传球中,我做了一个非常简单且可能过于聪明的解决方案:
Vector itemsVector = getItems();
Collections.shuffle(itemsVector);
itemsVector.setSize(5);
Run Code Online (Sandbox Code Playgroud)
虽然这样做的好处很简单,但我怀疑它不能很好地扩展,即Collections.shuffle()必须至少为O(n).我不太聪明的选择是
Vector itemsVector = getItems();
Random rand = new Random(System.currentTimeMillis()); // would make this static to the class
List subsetList = new ArrayList(5);
for (int i = 0; i < 5; i++) {
// be sure to use Vector.remove() or you may get the same item twice
subsetList.add(itemsVector.remove(rand.nextInt(itemsVector.size())));
}
Run Code Online (Sandbox Code Playgroud)
有关更好地从集合中抽取随机子集的方法的任何建议吗?
我正试图围绕SharePoint.它为什么好?为什么不好?
一眼就可以看出它提供了一些令人难以置信的协作工具.然而,成本看起来是天文数字,似乎是僵硬的,难以定制.
对于那些使用过SharePoint的人; 请描述一些好的东西和一些不好的东西.
我在节点中有一个字符串,我想将字符串拆分为'?' 并返回数组中的最后一项.
例如,在下面的块中:
<a>
<xsl:attribute name="href">
/newpage.aspx?<xsl:value-of select="someNode"/>
</xsl:attribute>
Link text
</a>
Run Code Online (Sandbox Code Playgroud)
我想分割someNode
价值.
编辑:这是我用来为我的Asp.Net页面加载Xsl的VB.Net:
Dim xslDocPath As String = HttpContext.Current.Server.MapPath("~/App_Data/someXslt.xsl")
Dim myXsltSettings As New XsltSettings()
Dim myXMLResolver As New XmlUrlResolver()
myXsltSettings.EnableScript = True
myXsltSettings.EnableDocumentFunction = True
myXslDoc = New XslCompiledTransform(False)
myXslDoc.Load(xslDocPath, myXsltSettings, myXMLResolver)
Dim myStringBuilder As New StringBuilder()
Dim myXmlWriter As XmlWriter = Nothing
Dim myXmlWriterSettings As New XmlWriterSettings()
myXmlWriterSettings.ConformanceLevel = ConformanceLevel.Auto
myXmlWriterSettings.Indent = True
myXmlWriterSettings.OmitXmlDeclaration = True
myXmlWriter = XmlWriter.Create(myStringBuilder, myXmlWriterSettings)
myXslDoc.Transform(xmlDoc, argumentList, myXmlWriter)
Return myStringBuilder.ToString()
Run Code Online (Sandbox Code Playgroud)
更新: …
java ×3
.net ×1
algorithm ×1
apache ×1
apache-flex ×1
collections ×1
containers ×1
date ×1
datetime ×1
eclipse ×1
events ×1
hashchange ×1
html ×1
javascript ×1
lwp ×1
maven-2 ×1
mod-deflate ×1
perl ×1
random ×1
sharepoint ×1
split ×1
subset ×1
textblock ×1
textbox ×1
url ×1
vb.net ×1
wpf ×1
xaml ×1
xml ×1
xslt ×1