如何连接到需要身份验证的Java远程URL.我试图找到一种方法来修改以下代码,以便能够以编程方式提供用户名/密码,因此它不会抛出401.
URL url = new URL(String.format("http://%s/manager/list", _host + ":8080"));
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
Run Code Online (Sandbox Code Playgroud) 我有一个shell脚本,我想用shUnit测试.脚本(和所有功能)都在一个文件中,因为它使安装更容易.
示例 script.sh
#!/bin/sh
foo () { ... }
bar () { ... }
code
Run Code Online (Sandbox Code Playgroud)
我想编写第二个文件(不需要分发和安装)来测试中定义的函数 script.sh
就像是 run_tests.sh
#!/bin/sh
. script.sh
# Unit tests
Run Code Online (Sandbox Code Playgroud)
现在的问题在于.
(或source
在Bash中).它不仅解析函数定义,还执行脚本中的代码.
由于没有参数的脚本没有任何坏处,我可以
. script.sh > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
但如果有更好的方法来实现我的目标,我就会徘徊.
编辑
我建议的解决方法在源脚本调用的情况下不起作用,exit
所以我必须捕获退出
#!/bin/sh
trap run_tests ERR EXIT
run_tests() {
...
}
. script.sh
Run Code Online (Sandbox Code Playgroud)
run_tests
调用该函数但是只要我重定向source命令的输出,脚本中的函数就不会被解析,并且在陷阱处理程序中不可用
这有效,但我得到的输出script.sh
:
#!/bin/sh
trap run_tests ERR EXIT
run_tests() {
function_defined_in_script_sh
}
. script.sh
Run Code Online (Sandbox Code Playgroud)
这不打印输出但是我得到一个错误,该函数未定义:
#!/bin/sh
trap run_tests ERR EXIT
run_tests() {
function_defined_in_script_sh
}
. script.sh …
Run Code Online (Sandbox Code Playgroud) 我如何仅根据小写设置索引?
即使实际字段包含大写和小写字母.
此外,我可以运行查询并只返回小写索引值吗?
我有一个bash shell脚本如下.
#!/bin/bash
SIZES=("512" "1024" "2048")
for i in ${!SIZES[*]}
do
SIZE=${SIZES[$i]}
echo $SIZE
# first, resize original image
convert -resize $SIZE"x"$SIZE! chernarus2048.jpg chernarus$SIZE"x"$SIZE.jpg
mkdir tiles$SIZE
# slice resized image into 256x256 tiles
convert -crop 256x256 chernarus$SIZE"x"$SIZE.jpg tiles$SIZE/tile%04d.jpg
rm chernarus$SIZE"x"$SIZE.jpg
done
Run Code Online (Sandbox Code Playgroud)
但是当我使用以下命令在命令行中运行它时
sh generate_tiles.sh chernarus2048.jpg
Run Code Online (Sandbox Code Playgroud)
我收到错误转换:命令未找到
我正在使用OS X Yosemite 10.10.2.图像保存在放置shell脚本的同一文件夹中.请帮帮我.
我有一个列,人们手动输入电子邮件地址.我想使用以下公式验证电子邮件地址:
=AND(FIND(“@”,A2),FIND(“.”,A2),ISERROR(FIND(” “,A2)))
Run Code Online (Sandbox Code Playgroud)
但excel会出现错误,即您键入的公式包含错误.对我来说,公式看起来是对的.你们有什么建议吗?
我们正在尝试从Hibernate 3.6.7升级到4.1.2,将Hibernate Tools 3.2.0升级到3.5.0
我们使用Ant生成数据库创建脚本:
<hibernatetool destdir="${target}">
<jpaconfiguration persistenceunit="stdcmpOrderPersistenceUnit" propertyfile="@{propertyfile}"/>
<classpath refid="@{classpathid}"/>
<!-- the file name is relative to $destdir -->
<hbm2ddl outputfilename="@{output}" format="true" export="false" drop="false"/>
</hibernatetool>
Run Code Online (Sandbox Code Playgroud)
我们的持久性单元看起来像这样:
<persistence-unit name="stdcmpOrderPersistenceUnit" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/lakshmi_stdcmp</jta-data-source>
<mapping-file>META-INF/stdcmpOrderNamedQueries.xml</mapping-file>
<class>ch.ethz.id.wai.lakshmi.stdcmp.persistency.PersistentOrder</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="false"/>
</properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)
升级后,我们收到以下错误:
[hibernatetool] org.hibernate.service.jndi.JndiException: Error parsing JNDI name [jdbc/lakshmi_stdcmp]
[hibernatetool] javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
Run Code Online (Sandbox Code Playgroud)
为什么Hibernate会尝试解析JNDI名称,因为PersistenceUnit上的所有信息都可用?我们对旧版本没有任何问题.
在任何情况下,我们如何指定NamingFactory?(哪一个?)
我需要很久以前从我们的存储库中删除文件夹的内容
svn log
似乎没有帮助:
$ svn log deleted_folder
svn: 'deleted_folder' is not under version control
Run Code Online (Sandbox Code Playgroud)
svn co
也没有帮助
$ svn co URL/deleted_folder
Run Code Online (Sandbox Code Playgroud)
如何找到已删除文件夹的最新修订版?
编辑:一个选项可以用蛮力来检查每个版本的倒退,但因为有超过10K的选项将只是为了紧急.我真的觉得肯定有一个更好的方法.
我们有一个属性,它包含一系列要在Ant脚本中传递给JVM的参数.
示例(请注意第二个条目中的引号):
-Dsql.driver=oracle.jdbc.driver.OracleDriver -Dapp.datasource-properties=URL='jdbc:oracle:thin:@//192.168.56.42:1521/xe':User=user:Password=password
Run Code Online (Sandbox Code Playgroud)
如果我用echo
目标打印变量的内容,我得到预期的结果
<echo message="${jvm.arguments}"/>
Run Code Online (Sandbox Code Playgroud)
产生
-Dsql.driver=oracle.jdbc.driver.OracleDriver -Dapp.datasource-properties=URL='jdbc:oracle:thin:@//192.168.56.42:1521/xe':User=user:Password=password
Run Code Online (Sandbox Code Playgroud)
然后我将该变量用作JVM的参数.
例:
<junit fork="true" forkmode="once" showoutput="true" printsummary="on">
<jvmarg
line="-XX:MaxPermSize=256m -Xms1024M ${jvm.arguments}"
Run Code Online (Sandbox Code Playgroud)
报价被默默地删除.Ant的详细输出给了我
[junit] Executing '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java' with arguments:
[junit] '-XX:MaxPermSize=256m'
[junit] '-Xms1024M'
[junit] '-Dsql.driver=oracle.jdbc.driver.OracleDriver'
[junit] '-Dapp.datasource-properties=URL=jdbc:oracle:thin:@//192.168.56.42:1521/xe:User=user=password'
Run Code Online (Sandbox Code Playgroud)
如何将系统属性传递给包含引号的JVM?(单人还是双人)?
我尝试使用双引号转义它们,但没有效果.
我们正在使用Hibernate Envers并出现以下情况:
一个类BusinessObjectType
和Identity
一个引用的类BusinessObjectType
:
@Entity
@Table( name = "ID_IDENTITY" )
@Audited
public class Identity {
@ManyToOne
@JoinColumn( name = "BO_TYPE_ID" )
@IndexColumn( name = "INDEX_BO_BO_TYPE" )
private BusinessObjectType businessObjectType;
[…]
}
Run Code Online (Sandbox Code Playgroud)
然后我们查询所有版本的Identity:
AuditQuery auditQuery = auditReader.createQuery().forRevisionsOfEntity(
Identity.class,
false,
true );
auditQuery.add( AuditEntity.id().eq( dbid ) );
@SuppressWarnings( "unchecked" )
List< Object[]> history = (List< Object[]>) auditQuery.getResultList();
Run Code Online (Sandbox Code Playgroud)
如果存储的身份没有BusinessObjectType
(即,businessObjectType
是和否),一切都像魅力一样.
如果身份有一个businessObjectType != null
我们得到"Javassist Enhancement failed"异常:
Javassist Enhancement failed: ch.ethz.id.wai.baseclasses.BusinessObjectType
Run Code Online (Sandbox Code Playgroud)
这个错误似乎与Envers试图实例化一个BusinessObjectType有关但我真的没看到问题是什么(如果我们不使用AuditQuery,Hibernate对这两个对象都没有问题).
异常的原因是
java.lang.InstantiationException: ch.ethz.id.wai.baseclasses.BusinessObjectType_$$_javassist_49 …
Run Code Online (Sandbox Code Playgroud)