小编Dav*_* W.的帖子

如何在常春藤或Maven中指定net.sf.json-lib#json-lib#2.3?

我正在使用Ivy将我们的构建系统从Ant转换为Ant,并遇到了一个指定我们需要的特定jar的问题.

  • groupId:net.sf.json-lib
  • artifactId:json-lib
  • 版本:2.3

我在常春藤中指定它:

<dependency org="net.sf.json-lib"  artifact="json-lib"
    rev="2.3"     conf="compile->default"/>
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

[ivy:retrieve]  ==== public: tried
[ivy:retrieve]    http://buildl01.tcprod.local/artifactory/libs-release/net/sf/json-lib/json-lib/2.3/json-lib-2.3.jar
[ivy:retrieve]          ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]          ::              FAILED DOWNLOADS            ::
[ivy:retrieve]          :: ^ see resolution messages for details  ^ ::
[ivy:retrieve]          ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]          :: net.sf.json-lib#json-lib;2.3!json-lib.jar
[ivy:retrieve]          ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)

注意Ivy试图json-lib-2.3.jar从存储库下载文件.

我做的一个搜索中央Maven仓库,发现神器不叫json-lib-2.3.jar,但无论是json-lib-2.3-jdk-13.jarjson-lib-2.3-jdk-15.jar.

问题是指定工件名称的方式.版本号出现在jar名称的中间.如果工件是`json-lib-jdk-15-2.4.jar,我可以这样做:

<dependency org="net.sf.json-lib"  artifact="json-lib"
    rev="2.3"     conf="compile->default">
    <artifact name="json-lib-jdk-15"/>
</dependency>
Run Code Online (Sandbox Code Playgroud)

如何指定此jar用于下载?

java ivy pom.xml maven

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

Perl:使用HTTP :: Request :: Common发布身份验证

我试图用来HTTP::Request::Common做一个URL的帖子.不幸的是,它似乎不适用于身份验证,我不得不切换回普通ol' HTTP::Request.如果我不需要身份验证,我可以通过这种方式完成所有事情:

use HTTP::Request::Common;

my $browser = LWP::UserAgent->new;

$browser->request (
    POST $url, 
    Content => [
        Name => $name,
        Address => $address,
    ],
);
Run Code Online (Sandbox Code Playgroud)

不幸的是,由于身份验证,我不得不回到HTTP::Request:

use HTTP::Request;

my $browser = LWP::UserAgent->new;
my $request = HTTP::Request;
my $request->authentication_basic($user, $pass);
my $request->method("POST");
my $request->url($url);

# Create Content Byte String
my $uri = URI->new('http://');  #URL isn't needed, just the object
$uri->form_query(Name => $name, Address => $address);
my $content = $uri->query;

$request->content($content);

# Set the headers for the content
$request->header( …
Run Code Online (Sandbox Code Playgroud)

perl httprequest lwp

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

Perl在不读取实际文件时使用`IO :: Handle`或`IO :: File`

我喜欢使用IO::File打开和读取文件而不是内置方式.

建在路上

 open my $fh, "<", $flle or die;
Run Code Online (Sandbox Code Playgroud)

IO ::文件

 use IO::File;

 my $fh = IO::File->new( $file, "r" );
Run Code Online (Sandbox Code Playgroud)

但是,如果我将命令的输出视为我的文件怎么办?

内置open函数允许我这样做:

open my $cmd_fh, "-|", "zcat $file.gz" or die;

while ( my $line < $cmd_fh > ) {
    chomp $line;
}
Run Code Online (Sandbox Code Playgroud)

什么相当于IO::FileIO::Handle

顺便说一句,我知道可以做到这一点:

open my $cmd_fh,  "-|", "zcat $file.gz" or die;
my $cmd_obj = IO::File-> new_from_fd( fileno( $cmd_fh ), 'r' );
Run Code Online (Sandbox Code Playgroud)

但是,IO::File如果已经存在文件句柄,为什么还要费心呢?

perl file-io

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

Perl中的包变量不在"范围"中?

我正在看这个问题,当我在玩耍时,我遇到了这个问题:

#! /usr/bin/env perl
#
# use warnings;
use strict;
use feature qw(say);

{
    our $foo = "bar";
    say "Foo = $foo";
}

say "Foo = $foo";  # This is line #12
Run Code Online (Sandbox Code Playgroud)

是的,我确实use warnings;关掉了......

当我运行这个时,我得到:

Variable "$foo" is not imported at ./test.pl line 12.
Global symbol "$foo" requires explicit package name at ./test.pl line 12.
Execution of ./test.pl aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud)

嗯...我得到相同的" 变量"$ foo"不会导入./test.pl第12行. "如果我已经完成错误my $foo = "bar";.我使用时会理解这一点,my因为$foo一旦离开块就没有变量.但是, …

perl perlvar

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

如何计算重复键并将重复键的所有值一起添加到非重复键的新哈希?

嗨,我是新来的perl和初学者阶段请帮​​助我有哈希

%hash = { a => 2 , b=>6, a=>4, f=>2, b=>1, a=>1}
Run Code Online (Sandbox Code Playgroud)

我希望输出为

  • 一次来了3次
  • b来了2次
  • f有一次

应该是一个新的哈希

%newhash = { a => 7, b=>7,f =>2}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

要计算我正在做的哈希键的频率

foreach $element(sort keys %hash) {
    my $count = grep /$element/, sort keys %hash;
    print "$element comes in $count times \n";
}
Run Code Online (Sandbox Code Playgroud)

但通过这样做我得到的输出为:

a comes 1 times 
b comes 1 times 
a comes 1 times
f comes 1 times 
b comes 1 times
a comes 1 times
Run Code Online (Sandbox Code Playgroud)

这不是我想要的.

如何获得重复键的正确频率数?如何添加这些重复键的值并存储在新哈希中?

perl hash key duplicates

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

bash脚本编译java

我需要编写一个 bash 脚本来编译我的 java 程序。我知道这有点做作,但这是家庭作业。(虽然我不确定 bash 脚本是否被标记,只是用于自动标记系统)

我只有一个java文件test.java,脚本只搜索它自己的目录:我尝试过:

#!/bin/bash          
javac test.java
Run Code Online (Sandbox Code Playgroud)

并另存为build.sh,我尝试从终端运行它,因为两者sh build.sh都给bash build.sh了我错误。有人可以提供任何帮助吗?

包含的错误:

build.sh: line 1: {rtf1ansiansicpg1252cocoartf1038cocoasubrtf350: command not found
build.sh: line 2: syntax error near unexpected token `}'
build.sh: line 2: `{\fonttbl\f0\fmodern\fcharset0 Courier;\f1\fswiss\fcharset0 Helvetica;}'
Run Code Online (Sandbox Code Playgroud)

java bash shell compilation

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

Perl使用File :: Spec删除..和.从路径

我在Unix系统上使用File :: Spec来获取文件的绝对路径:

use File::Spec::Functions qw(:ALL);
use strict;
use warnings;
use feature qw(say);

my $file = "../../this/is/a/test";

say rel2abs($file);
Run Code Online (Sandbox Code Playgroud)

打印出来/directory/to/program/../../this/is/a/test.我想要打印出来/directory/this/is/a/test.

我看到了no_upwards方法,这里是描述:

Given a list of file names, strip out those that refer to a parent directory.
(Does not strip symlinks, only '.', '..', and equivalents.)

     @paths = File::Spec->no_upwards( @paths );
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用.相反,我查看了File :: Spec模块中的代码,发现了这个:

sub no_upwards {
    my $self = shift;
    return grep(!/^\.{1,2}\z/s, @_);
}
Run Code Online (Sandbox Code Playgroud)

那么,这种方法的作用是什么,以及如何让它发挥作用?

如果我读这个权利,这需要一个目录列表,然后删除所有那些目录....(根据Perldoc \z意味着 …

perl perl-module

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

在if或while语句中分配变量值

可能重复:
有没有办法在Python中的while(<here>)循环内直接进行变量赋值?

抱歉这个基本问题.我正在尝试学习Python,但实际上还没有找到答案.

在Python中,我可以为一个whileif语句中的变量赋值吗?如果是这样,怎么样?

例如.我不得不这样做:

line_list = []
while True:
    line = raw_input(">>> ")
    if not line: break
    line_list.append(line)
print line_list
Run Code Online (Sandbox Code Playgroud)

但我想这样做:

line_list = []
while line = raw_input(">>> "):
    line_list.append(line)
print line_list
Run Code Online (Sandbox Code Playgroud)

我正在看的教程没有提到这种或那种方式,但这是大多数其他语言的常见结构.

python while-loop

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

Ant无法在Ubuntu上构建

我希望有人可以帮我解决这个问题.我使用Ant Build来编译我的java代码,但是我收到以下错误:

Buildfile: <PATH>

BUILD FAILED
<PATH>build.xml:55: sdk.dir is missing. Make sure 
    to generate local.properties using 'android update project' or to inject it
    through the ANDROID_HOME environment variable.

Total time: 345 milliseconds
Run Code Online (Sandbox Code Playgroud)

我正在使用eclipse.

ant android build

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

如何在perl中引用数组数组 - 引用变量

#! /usr/bin/perl 
use strict;
use warnings;
use File::stat;

my $file_name = 0;
my $info = 0;
my $ret_mode = 0;
my $size;
my $last_mod;
my @array_file;
my $index = 0;
my @array_mode;
my @array_size;
my @array_last_mod;
foreach(@ARGV){
  $file_name = $_;
  $info = stat($file_name);
  $size = $info->size;
  $last_mod = scalar(localtime($info->mtime));
  $ret_mode  = $info->mode;
  $ret_mode = $ret_mode & 0777;
  $array_file[$index] = ($file_name);
  $array_mode[$index] = ($ret_mode);
  $array_size[$index] = ($size);
  $array_last_mod[$index] = ($last_mod);
  $ret_mode = 0;
  $index++;
 }
 my @array_arrays = (@array_file, @array_mode, @array_size, …
Run Code Online (Sandbox Code Playgroud)

perl

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