どうしても hpi:upload にコケるよう。
( ゚Д゚ ) < だれかー!だれかー!
とりあえず,Rhinoから取ってきたjs.jarと,ついでにjaxenのjaxen-1.1.1.jarを$JAVA_HOME/jre/lib/extに放り込んで再チャレンジするも,やっぱり'hpi:upload'でコケる。
Mavenに'-X -eオプション'つけてみたけど,たいしてログは出てこなかった。orz
ちなみに,
$ mvn -X -e hpi:hpi hpi:upload : [DEBUG] Configuring mojo 'org.jvnet.hudson.tools:maven-hpi-plugin:1.18:upload' --> [DEBUG] (f) project = MavenProject: org.jvnet.hudson.plugins:emotional-hudson:1.02-SNAPSHOT @ /Users/mars/IdeaProjects/hudson/hudson/plugins/emotional-hudson/pom.xml [DEBUG] -- end configuration -- [INFO] [hpi:upload] [DEBUG] Loading /Users/mars/.java.net [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to upload the artifact Embedded error: unable to log in as user masanobuimai Invalid XPath expression: '//DIV[@class='errormessage']'. Caused by: org/dom4j/Element [INFO] ------------------------------------------------------------------------ [DEBUG] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Failed to upload the artifact at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:564) :
なコケかたをする。
いかにもjava.netの認証に失敗してるのは明らかなんだけど,java.netが何を返しているのかだけでも知りたい。
えー,はいはい。.java.netにプロキシの設定書いて覗き見すりゃいいんですけどね。そのうち試すわ。
意外に道のりが険しい。>java.netへの公開。
(追記)エラーの場所は特定できた。
まず,スタックトレースはこれ。
[DEBUG] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Failed to upload the artifact : at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539) ... 16 more Caused by: org.kohsuke.jnt.ProcessingException: unable to log in as user masanobuimai Invalid XPath expression: '//DIV[@class='errormessage']'. Caused by: org/dom4j/Element at org.kohsuke.jnt.Scraper.run(Scraper.java:31) at org.kohsuke.jnt.JavaNet.login(JavaNet.java:82) at org.kohsuke.jnt.JavaNet.connect(JavaNet.java:142) at org.kohsuke.jnt.JavaNet.connect(JavaNet.java:108) at org.jvnet.hudson.maven.plugins.hpi.AbstractJavaNetMojo.connect(AbstractJavaNetMojo.java:36) at org.jvnet.hudson.maven.plugins.hpi.UploadMojo.execute(UploadMojo.java:40) ... 18 more Caused by: org.dom4j.InvalidXPathException: Invalid XPath expression: '//DIV[@class='errormessage']'. Caused by: org/dom4j/Element at org.dom4j.xpath.DefaultXPath.parse(DefaultXPath.java:362) at org.dom4j.xpath.DefaultXPath.<init>(DefaultXPath.java:59) at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207) at org.dom4j.tree.AbstractNode.selectSingleNode(AbstractNode.java:183) at org.kohsuke.jnt.JNObject.checkError(JNObject.java:43) at org.kohsuke.jnt.JavaNet$1.scrape(JavaNet.java:89) at org.kohsuke.jnt.Scraper.run(Scraper.java:29) ... 23 more
JavaNet.javaってのは,java.net tasks projectにあった。
→javanettasks - JavaNet.java
さらに追いかけると,JNObject.javaのcheckError()でコケてて,その理由は以下のとおり。
protected final WebResponse checkError(WebResponse resp) throws SAXException, ProcessingException, IOException { if(resp.getResponseCode()!=200) throw new ProcessingException("request failed "+resp.getResponseMessage()); Document dom = Util.getDom4j(resp); org.dom4j.Node errorNode = dom.selectSingleNode("//DIV[@class='errormessage']"); if(errorNode!=null) { // ↓ これ // this happens for example when you request "http://nosuchproject.dev.java.net/" throw new ProcessingException(errorNode.getStringValue().trim()); } return resp; }
うーん。プロジェクト名の指定がマズい?でも試しにMavenのオプションに'-DprojectName=hudson
'とか'-Dproject=hudson
'とかやっても効果なかったんだよねぇ。
#一瞬,イケると思ったんだけど,スカだったか。
なんだろなー。Soyatte付属のJSSEとかもあやしんだほうがいいのかなー?