maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wayne Fay <wayne...@gmail.com>
Subject Re: Problems with MAVEN's-ANT on OpenVMS
Date Thu, 20 Oct 2011 21:51:27 GMT
> With knowing the details about our environment
> would you expect that Lucene written in clean Java
> is not operating on such a platform?

Without a comprehensive analysis of the source code for Lucene (and
potentially, some or all of its dependencies) it is impossible to say
anything conclusive about how well it may operate on OpenVMS or any
other operating system except for those explicitly supported (and
tested) by the dev team. Java isn't truly write-once run-anywhere,
despite such claims ~10-15 years back.

I looked at your stacktrace and the problem seemed to be related to a
NumberFormatException thrown by java.lang.Long.parseLong() that is not
being caught and handled by Lucene:

Caused by: java.lang.NumberFormatException: For input string: "1."
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Long.parseLong(Long.java:419)
        at org.apache.lucene.index.SegmentInfos.generationFromSegmentsFileName(SegmentInfos.java:199)

I found a Lucene JIRA issue that is loosely related:
https://issues.apache.org/jira/browse/LUCENE-3008

Looks like line 211 in trunk is the issue (was line 199 in the stacktrace):
http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java?view=markup

The source code is:
   return Long.parseLong(fileName.substring(1+IndexFileNames.SEGMENTS.length()),
      Character.MAX_RADIX);

A quick look at the Java API shows:
http://download.oracle.com/javase/1,5.0/docs/api/java/lang/Long.html#parseLong(java.lang.String,%20int)
 An exception of type NumberFormatException is thrown if any of the
following situations occurs:
    * Any character of the string is not a digit of the specified
radix, except that the first character may be a minus sign '-'
('\u002d') provided that the string is longer than length 1.

The decimal character in the string "1." is not valid in the radix
defined by Character.MAX_RADIX. So, you'll need to figure out where
that filename of "1." is coming from -- either OpenVMS or Lucene --
and somehow get rid of the decimal in the filename. Or just rename
that file from 1. to simply 1 in your filesystem.

Without access to an OpenVMS system and having no real understanding
of Lucene's internals, I can't really look into it any more at this
point. You probably need to email the Lucene Users list and ask if
anyone has successfully gotten it to run on OpenVMS (I'm guessing not)
and get things patched up before you can make more progress with
getting Nexus running on it. Or take the more reasonable approach and
simply install Nexus on a Windows box in your office. ;-)

Wayne

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message