diff --git a/java/java.lsp.server/external/binaries-list b/java/java.lsp.server/external/binaries-list
index 0e68189..08e9f1a 100644
--- a/java/java.lsp.server/external/binaries-list
+++ b/java/java.lsp.server/external/binaries-list
@@ -23,5 +23,3 @@
 A57306D5D523A4750FA09B2708062EA4972AFEA2 org.eclipse.xtend:org.eclipse.xtend.lib:2.24.0
 D8F5566BA67748ED9E91856E077EE99F00E86653 org.eclipse.xtend:org.eclipse.xtend.lib.macro:2.24.0
 53FBD66084B08850258E61C838CC1FB94335E718 org.eclipse.xtext:org.eclipse.xtext.xbase.lib:2.24.0
-
-2852E6E05FBB95076FC091F6D1780F1F8FE35E0F commons-io:commons-io:2.5
diff --git a/java/java.lsp.server/external/commons-2.5.3.6-license.txt b/java/java.lsp.server/external/commons-2.5.3.6-license.txt
deleted file mode 100644
index 4e33195..0000000
--- a/java/java.lsp.server/external/commons-2.5.3.6-license.txt
+++ /dev/null
@@ -1,212 +0,0 @@
-Name: Apache Commons
-Description: Assist with developing IO functionality
-Origin: Apache Software Foundation
-License: Apache-2.0
-Version: 2.5.3.6
-URL: https://commons.apache.org/
-Files: commons-io-2.5.jar
-
-
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
diff --git a/java/java.lsp.server/nbproject/project.properties b/java/java.lsp.server/nbproject/project.properties
index 8394988..39aac8b 100644
--- a/java/java.lsp.server/nbproject/project.properties
+++ b/java/java.lsp.server/nbproject/project.properties
@@ -32,7 +32,6 @@
 release.external/org.eclipse.xtend.lib-2.24.0.jar=modules/ext/org.eclipse.xtend.lib-2.24.0.jar
 release.external/org.eclipse.xtend.lib.macro-2.24.0.jar=modules/ext/org.eclipse.xtend.lib.macro-2.24.0.jar
 release.external/org.eclipse.xtext.xbase.lib-2.24.0.jar=modules/ext/org.eclipse.xtext.xbase.lib-2.24.0.jar
-release.external/commons-io-2.5.jar=modules/ext/commons-io-2.5.jar
 
 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir}
 
diff --git a/java/java.lsp.server/nbproject/project.xml b/java/java.lsp.server/nbproject/project.xml
index 3a2d887..09e0a61 100644
--- a/java/java.lsp.server/nbproject/project.xml
+++ b/java/java.lsp.server/nbproject/project.xml
@@ -647,6 +647,12 @@
                         <specification-version>1.10</specification-version>
                     </run-dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.apache.commons.io</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency/>
+                </dependency>
             </module-dependencies>
             <test-dependencies>
                 <test-type>
@@ -810,10 +816,6 @@
                 <runtime-relative-path>ext/org.eclipse.lsp4j-0.12.0.jar</runtime-relative-path>
                 <binary-origin>external/org.eclipse.lsp4j-0.12.0.jar</binary-origin>
             </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>ext/commons-io-2.5.jar</runtime-relative-path>
-                <binary-origin>external/commons-io-2.5.jar</binary-origin>
-            </class-path-extension>
         </data>
     </configuration>
 </project>
diff --git a/platform/o.apache.commons.io/external/binaries-list b/platform/o.apache.commons.io/external/binaries-list
index 272a680..c46928b 100644
--- a/platform/o.apache.commons.io/external/binaries-list
+++ b/platform/o.apache.commons.io/external/binaries-list
@@ -14,4 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-815893DF5F31DA2ECE4040FE0A12FD44B577AFAF commons-io:commons-io:2.6
+A2503F302B11EBDE7EBC3DF41DAEBE0E4EEA3689 commons-io:commons-io:2.11.0
diff --git a/platform/o.apache.commons.io/external/commons-io-2.6-license.txt b/platform/o.apache.commons.io/external/commons-io-2.11.0-license.txt
similarity index 99%
rename from platform/o.apache.commons.io/external/commons-io-2.6-license.txt
rename to platform/o.apache.commons.io/external/commons-io-2.11.0-license.txt
index 61fba15..b7a55c5 100644
--- a/platform/o.apache.commons.io/external/commons-io-2.6-license.txt
+++ b/platform/o.apache.commons.io/external/commons-io-2.11.0-license.txt
@@ -1,7 +1,7 @@
 Name: Apache Commons IO
 Description: Assist with developing IO functionality
 Origin: Apache Software Foundation
-Version: 2.6
+Version: 2.11.0
 License: Apache-2.0
 URL: https://commons.apache.org/proper/commons-io/
 
diff --git a/platform/o.apache.commons.io/external/commons-io-2.6-notice.txt b/platform/o.apache.commons.io/external/commons-io-2.11.0-notice.txt
similarity index 100%
rename from platform/o.apache.commons.io/external/commons-io-2.6-notice.txt
rename to platform/o.apache.commons.io/external/commons-io-2.11.0-notice.txt
diff --git a/platform/o.apache.commons.io/manifest.mf b/platform/o.apache.commons.io/manifest.mf
index 3500a09..683386f 100644
--- a/platform/o.apache.commons.io/manifest.mf
+++ b/platform/o.apache.commons.io/manifest.mf
@@ -1,2 +1,2 @@
 OpenIDE-Module: org.apache.commons.io
-OpenIDE-Module-Specification-Version: 2.15
+OpenIDE-Module-Specification-Version: 2.16
diff --git a/platform/o.apache.commons.io/nbproject/project.properties b/platform/o.apache.commons.io/nbproject/project.properties
index 544f78b..e40dc56 100644
--- a/platform/o.apache.commons.io/nbproject/project.properties
+++ b/platform/o.apache.commons.io/nbproject/project.properties
@@ -16,6 +16,6 @@
 # under the License.
 javac.compilerargs=-Xlint -Xlint:-serial
 javac.source=1.8
-release.external/commons-io-2.6.jar=modules/org-apache-commons-io.jar
+release.external/commons-io-2.11.0.jar=modules/org-apache-commons-io.jar
 is.autoload=true
 nbm.module.author=Tomas Stupka
diff --git a/platform/o.apache.commons.io/nbproject/project.xml b/platform/o.apache.commons.io/nbproject/project.xml
index b5aa45d..d56c7ce 100644
--- a/platform/o.apache.commons.io/nbproject/project.xml
+++ b/platform/o.apache.commons.io/nbproject/project.xml
@@ -44,7 +44,7 @@
             <public-packages/>
             <class-path-extension>
                 <runtime-relative-path>org-apache-commons-io.jar</runtime-relative-path>
-                <binary-origin>external/commons-io-2.6.jar</binary-origin>
+                <binary-origin>external/commons-io-2.11.0.jar</binary-origin>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/platform/openide.modules/src/org/openide/modules/Dependency.java b/platform/openide.modules/src/org/openide/modules/Dependency.java
index f30b589..f82981b 100644
--- a/platform/openide.modules/src/org/openide/modules/Dependency.java
+++ b/platform/openide.modules/src/org/openide/modules/Dependency.java
@@ -177,7 +177,7 @@
         }
     }
     private static final Pattern FQN = Pattern.compile(
-        "(?:\\p{javaJavaIdentifierStart}\\p{javaJavaIdentifierPart}*)(?:[.]\\p{javaJavaIdentifierPart}+)*" // NOI18N
+        "(?:\\p{javaJavaIdentifierStart}\\p{javaJavaIdentifierPart}*)(?:[.-]\\p{javaJavaIdentifierPart}+)*" // NOI18N
     ); 
     
     /** Parse dependencies from tags. Since version 7.32 it can parse
diff --git a/platform/openide.modules/test/unit/src/org/openide/modules/DependencyTest.java b/platform/openide.modules/test/unit/src/org/openide/modules/DependencyTest.java
index b685c24..101cd1f 100644
--- a/platform/openide.modules/test/unit/src/org/openide/modules/DependencyTest.java
+++ b/platform/openide.modules/test/unit/src/org/openide/modules/DependencyTest.java
@@ -139,7 +139,7 @@
     
     public void testMisparseBadCodename() throws Exception {
         misparse(Dependency.TYPE_MODULE, "org.foo/-1");
-        misparse(Dependency.TYPE_MODULE, "org-foo/1");
+        Dependency.create(Dependency.TYPE_MODULE, "org-foo/1");
         misparse(Dependency.TYPE_MODULE, "org.foo./1");
     }
     
@@ -188,7 +188,7 @@
     }
     
     public void testMisparseRequiresBadCodeName() throws Exception {
-        misparse(Dependency.TYPE_REQUIRES, "some-thing");
+        Dependency.create(Dependency.TYPE_REQUIRES, "some-thing");
     }
     
     public void testMisparseDuplicates() throws Exception {
