Uploaded image for project: 'Couchbase Java Client'
  1. Couchbase Java Client
  2. JCBC-1196

Can't compile using Javac from the command line when importing c.c.c.core.message.kv.subdoc.multi.Lookup

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Minor
    • None
    • 2.5.7
    • Core
    • None
    • java version "1.8.0_92", Java(TM) SE Runtime Environment (build 1.8.0_92-b14), Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
      MacOS 10.13.4
    • 1

    Description

      Problem
      When I compile from the command line using Javac the following error is produce:

      $ javac -cp "Couchbase-Java-Client-2.5.7/*:." TestComplie.java 
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/lmax/disruptor/RingBuffer.java):19: warning: Unsafe is internal proprietary API and may be removed in a future release
      import sun.misc.Unsafe;
                     ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/lmax/disruptor/Sequence.java):18: warning: Unsafe is internal proprietary API and may be removed in a future release
      import sun.misc.Unsafe;
                     ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/lmax/disruptor/util/Util.java):24: warning: Unsafe is internal proprietary API and may be removed in a future release
      import sun.misc.Unsafe;
                     ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):20: error: package org.jctools.queues does not exist
      import org.jctools.queues.MpscArrayQueue;
                               ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):21: error: package org.jctools.queues does not exist
      import org.jctools.queues.MpscChunkedArrayQueue;
                               ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):22: error: package org.jctools.queues does not exist
      import org.jctools.queues.MpscUnboundedArrayQueue;
                               ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):23: error: package org.jctools.queues does not exist
      import org.jctools.queues.SpscLinkedQueue;
                               ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):24: error: package org.jctools.queues.atomic does not exist
      import org.jctools.queues.atomic.MpscAtomicArrayQueue;
                                      ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):25: error: package org.jctools.queues.atomic does not exist
      import org.jctools.queues.atomic.MpscGrowableAtomicArrayQueue;
                                      ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):26: error: package org.jctools.queues.atomic does not exist
      import org.jctools.queues.atomic.MpscUnboundedAtomicArrayQueue;
                                      ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):27: error: package org.jctools.queues.atomic does not exist
      import org.jctools.queues.atomic.SpscLinkedAtomicQueue;
                                      ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):28: error: package org.jctools.util does not exist
      import org.jctools.util.Pow2;
                             ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/io/netty/util/internal/PlatformDependent.java):29: error: package org.jctools.util does not exist
      import org.jctools.util.UnsafeAccess;
                             ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/core/env/Diagnostics.java):20: error: package org.codehaus.mojo.animal_sniffer does not exist
      import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement;
                                             ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/core/env/Diagnostics.java):55: error: cannot find symbol
          @IgnoreJRERequirement //this method safely checks that the com.sun bean is available before attempting to use its methods
           ^
        symbol:   class IgnoreJRERequirement
        location: class Diagnostics
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/lmax/disruptor/RingBuffer.java):34: warning: Unsafe is internal proprietary API and may be removed in a future release
          private static final Unsafe UNSAFE = Util.getUnsafe();
                               ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/lmax/disruptor/MultiProducerSequencer.java):20: warning: Unsafe is internal proprietary API and may be removed in a future release
      import sun.misc.Unsafe;
                     ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/lmax/disruptor/Sequence.java):49: warning: Unsafe is internal proprietary API and may be removed in a future release
          private static final Unsafe UNSAFE;
                               ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/fasterxml/jackson/databind/cfg/PackageVersion.java):12: error: duplicate class: com.couchbase.client.deps.com.fasterxml.jackson.databind.cfg.PackageVersion
      public final class PackageVersion implements Versioned {
                   ^
      Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/fasterxml/jackson/core/JsonFactory.java):515: error: cannot access PackageVersion
              return PackageVersion.VERSION;
                     ^
        bad source file: Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar(com/couchbase/client/deps/com/fasterxml/jackson/core/json/PackageVersion.java)
          file does not contain class com.couchbase.client.deps.com.fasterxml.jackson.core.json.PackageVersion
          Please remove or make sure it appears in the correct subdirectory of the sourcepath.
      Note: Some input files use or override a deprecated API.
      Note: Recompile with -Xlint:deprecation for details.
      Note: Some input files use unchecked or unsafe operations.
      Note: Recompile with -Xlint:unchecked for details.
      14 errors
      6 warnings
      

      Steps to reproduce

      1. Download the SDK

        wget http://packages.couchbase.com/clients/java/2.5.7/Couchbase-Java-Client-2.5.7.zip
        

      2. Unzip it

        unzip Couchbase-Java-Client-2.5.7.zip
        

      3. Compile the following code

        import com.couchbase.client.core.message.kv.subdoc.multi.Lookup;
        import com.couchbase.client.java.Bucket;
        import com.couchbase.client.java.Cluster;
        import com.couchbase.client.java.CouchbaseCluster;
        import com.couchbase.client.java.subdoc.*;
         
        public class TestComplie
        {
            public static void main(String [] args)
            {
                Cluster cluster = CouchbaseCluster.create("localhost");
                cluster.authenticate("Administrator", "password");
                Bucket test = cluster.openBucket("test");
         
            }
        }
        

        javac -cp "Couchbase-Java-Client-2.5.7/*:." TestComplie.java
        

      Workaround

      When the couchbase-core-io-1.5.7-sources.jar file is removed from the folder, it complies fine:

      $ rm Couchbase-Java-Client-2.5.7/couchbase-core-io-1.5.7-sources.jar
      $ javac -cp "Couchbase-Java-Client-2.5.7/*:." TestComplie.java
      

      If the import com.couchbase.client.core.message.kv.subdoc.multi.Lookup; import is removed it also compiles fine.

      Compiling from a IDE (intelliJ) works without issue.

      Expectation
      To be able to compile from the command line without a SDK.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            daschl Michael Nitschinger
            pvarley Patrick Varley (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty