diff --git a/biojava-aa-prop/pom.xml b/biojava-aa-prop/pom.xml
index 70ab1fa759..908f2d28c2 100644
--- a/biojava-aa-prop/pom.xml
+++ b/biojava-aa-prop/pom.xml
@@ -105,8 +105,8 @@
- javax.xml.bind
- jaxb-api
+ jakarta.xml.bind
+ jakarta.xml.bind-api
org.glassfish.jaxb
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/IPeptideProperties.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/IPeptideProperties.java
index 5499509820..e90e7bd568 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/IPeptideProperties.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/IPeptideProperties.java
@@ -26,7 +26,7 @@
import org.biojava.nbio.core.sequence.ProteinSequence;
import org.biojava.nbio.core.sequence.compound.AminoAcidCompound;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Map;
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptideProperties.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptideProperties.java
index edf76339d9..da0cef9997 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptideProperties.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptideProperties.java
@@ -28,7 +28,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
@@ -37,7 +37,6 @@
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import java.util.stream.Stream;
/**
* This is an adaptor class which enable the ease of generating protein properties.
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptidePropertiesImpl.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptidePropertiesImpl.java
index c75554f9e6..fc31b9510b 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptidePropertiesImpl.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/PeptidePropertiesImpl.java
@@ -29,9 +29,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Unmarshaller;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidComposition.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidComposition.java
index 9004426ff5..034df5fb12 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidComposition.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidComposition.java
@@ -20,7 +20,7 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlRootElement(name = "compoundcomposition", namespace ="http://biojava.org")
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidCompositionTable.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidCompositionTable.java
index 6c90355296..c0b2e1489d 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidCompositionTable.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/AminoAcidCompositionTable.java
@@ -20,10 +20,10 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Element.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Element.java
index b03d15d1ac..4fc5f5ad66 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Element.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Element.java
@@ -20,10 +20,10 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/ElementTable.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/ElementTable.java
index efac678f23..acdcee25d9 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/ElementTable.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/ElementTable.java
@@ -20,7 +20,7 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Isotope.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Isotope.java
index 493bf938a3..cc0682f084 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Isotope.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Isotope.java
@@ -20,10 +20,10 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
@XmlType(name = "Iostope", propOrder = {"name","neutronsNum","mass"})
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/MyValidationEventHandler.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/MyValidationEventHandler.java
index 2f49bb5c18..9430090436 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/MyValidationEventHandler.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/MyValidationEventHandler.java
@@ -23,9 +23,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.ValidationEventLocator;
+import jakarta.xml.bind.ValidationEvent;
+import jakarta.xml.bind.ValidationEventHandler;
+import jakarta.xml.bind.ValidationEventLocator;
public class MyValidationEventHandler implements ValidationEventHandler{
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Name2Count.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Name2Count.java
index 431cc3e48c..b30e4c6dd2 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Name2Count.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/Name2Count.java
@@ -20,9 +20,9 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class Name2Count{
diff --git a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/SchemaGenerator.java b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/SchemaGenerator.java
index 8005bf3bac..5ca2b550ed 100644
--- a/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/SchemaGenerator.java
+++ b/biojava-aa-prop/src/main/java/org/biojava/nbio/aaproperties/xml/SchemaGenerator.java
@@ -20,7 +20,7 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import javax.xml.bind.SchemaOutputResolver;
+import jakarta.xml.bind.SchemaOutputResolver;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
diff --git a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/CookBookTest.java b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/CookBookTest.java
index 25ebf3abed..bbde2c1e30 100644
--- a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/CookBookTest.java
+++ b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/CookBookTest.java
@@ -20,13 +20,12 @@
*/
package org.biojava.nbio.aaproperties;
-import org.biojava.nbio.aaproperties.PeptideProperties;
import org.biojava.nbio.aaproperties.xml.AminoAcidCompositionTable;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Map;
diff --git a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/PeptidePropertiesImplTest.java b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/PeptidePropertiesImplTest.java
index 4f0439a5d4..8c79e3b078 100644
--- a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/PeptidePropertiesImplTest.java
+++ b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/PeptidePropertiesImplTest.java
@@ -20,14 +20,12 @@
*/
package org.biojava.nbio.aaproperties;
-import org.biojava.nbio.aaproperties.PeptideProperties;
-import org.biojava.nbio.aaproperties.Utils;
import org.biojava.nbio.aaproperties.xml.AminoAcidCompositionTable;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Map;
diff --git a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/AminoAcidTest.java b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/AminoAcidTest.java
index 528192dcb4..49947c1f50 100644
--- a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/AminoAcidTest.java
+++ b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/AminoAcidTest.java
@@ -23,10 +23,10 @@
import org.biojava.nbio.aaproperties.PeptideProperties;
import org.junit.Test;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
diff --git a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/ElementTest.java b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/ElementTest.java
index 37376b6bd0..26de47bf03 100644
--- a/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/ElementTest.java
+++ b/biojava-aa-prop/src/test/java/org/biojava/nbio/aaproperties/xml/ElementTest.java
@@ -20,18 +20,14 @@
*/
package org.biojava.nbio.aaproperties.xml;
-import org.biojava.nbio.aaproperties.xml.Element;
-import org.biojava.nbio.aaproperties.xml.ElementTable;
-import org.biojava.nbio.aaproperties.xml.Isotope;
-import org.biojava.nbio.aaproperties.xml.SchemaGenerator;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
diff --git a/biojava-core/pom.xml b/biojava-core/pom.xml
index 0fe122bf49..fb44bbadd3 100644
--- a/biojava-core/pom.xml
+++ b/biojava-core/pom.xml
@@ -74,8 +74,8 @@
log4j-core
- javax.xml.bind
- jaxb-api
+ jakarta.xml.bind
+ jakarta.xml.bind-api
org.glassfish.jaxb
diff --git a/biojava-modfinder/pom.xml b/biojava-modfinder/pom.xml
index a87767f8a9..ff8771babc 100644
--- a/biojava-modfinder/pom.xml
+++ b/biojava-modfinder/pom.xml
@@ -54,8 +54,8 @@
log4j-core
- javax.xml.bind
- jaxb-api
+ jakarta.xml.bind
+ jakarta.xml.bind-api
org.glassfish.jaxb
diff --git a/biojava-protein-disorder/pom.xml b/biojava-protein-disorder/pom.xml
index 51053cc428..c86173990f 100644
--- a/biojava-protein-disorder/pom.xml
+++ b/biojava-protein-disorder/pom.xml
@@ -85,8 +85,8 @@
log4j-core
- javax.xml.bind
- jaxb-api
+ jakarta.xml.bind
+ jakarta.xml.bind-api
org.glassfish.jaxb
diff --git a/biojava-protein-disorder/src/main/java/org/biojava/nbio/data/sequence/FastaSequence.java b/biojava-protein-disorder/src/main/java/org/biojava/nbio/data/sequence/FastaSequence.java
index 6af6f13712..f53d236b89 100644
--- a/biojava-protein-disorder/src/main/java/org/biojava/nbio/data/sequence/FastaSequence.java
+++ b/biojava-protein-disorder/src/main/java/org/biojava/nbio/data/sequence/FastaSequence.java
@@ -24,8 +24,8 @@
package org.biojava.nbio.data.sequence;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/biojava-structure/pom.xml b/biojava-structure/pom.xml
index ecb43920a0..bd779d4ba0 100644
--- a/biojava-structure/pom.xml
+++ b/biojava-structure/pom.xml
@@ -67,11 +67,9 @@
1.4.0
-
- javax.xml.bind
- jaxb-api
+ jakarta.xml.bind
+ jakarta.xml.bind-api
org.glassfish.jaxb
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/domain/pdp/Domain.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/domain/pdp/Domain.java
index 878ec29686..635f8bad94 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/domain/pdp/Domain.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/domain/pdp/Domain.java
@@ -23,9 +23,9 @@
*/
package org.biojava.nbio.structure.domain.pdp;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDescription.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDescription.java
index b85845ce2c..b7ef2881f7 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDescription.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDescription.java
@@ -20,9 +20,9 @@
*/
package org.biojava.nbio.structure.scop;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
/** Contains data from
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDomain.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDomain.java
index 7d1446cb9d..34e7702e23 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDomain.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopDomain.java
@@ -26,9 +26,9 @@
import java.util.List;
import java.util.Set;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
import org.biojava.nbio.structure.PdbId;
import org.biojava.nbio.structure.ResidueRange;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopNode.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopNode.java
index 8faf5dd6c7..40012d8d52 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopNode.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/scop/ScopNode.java
@@ -24,9 +24,9 @@
package org.biojava.nbio.structure.scop;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.List;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SpaceGroup.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SpaceGroup.java
index b7be721a87..caeaf6c9ee 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SpaceGroup.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SpaceGroup.java
@@ -30,13 +30,13 @@
import javax.vecmath.Matrix3d;
import javax.vecmath.Matrix4d;
import javax.vecmath.Vector3d;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SymoplibParser.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SymoplibParser.java
index 93896000b1..d0ff2cf4eb 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SymoplibParser.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/SymoplibParser.java
@@ -24,7 +24,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapAdapter.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapAdapter.java
index 6c068f51e3..aab18d3ff0 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapAdapter.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapAdapter.java
@@ -25,7 +25,7 @@
import org.biojava.nbio.structure.xtal.SpaceGroup;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
import java.util.Map;
import java.util.TreeMap;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapElements.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapElements.java
index 6572570964..49170edf16 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapElements.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapElements.java
@@ -25,7 +25,7 @@
import org.biojava.nbio.structure.xtal.SpaceGroup;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElement;
public class SpaceGroupMapElements {
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapRoot.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapRoot.java
index e7998ee8dd..eaf23f6d6e 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapRoot.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/SpaceGroupMapRoot.java
@@ -25,12 +25,12 @@
import org.biojava.nbio.structure.xtal.SpaceGroup;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TransfAlgebraicAdapter.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TransfAlgebraicAdapter.java
index 7e707002d8..c1416b7fad 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TransfAlgebraicAdapter.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TransfAlgebraicAdapter.java
@@ -24,7 +24,7 @@
package org.biojava.nbio.structure.xtal.io;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
import java.util.ArrayList;
import java.util.List;
diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TreeMapSpaceGroupWrapper.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TreeMapSpaceGroupWrapper.java
index 8aabe9b2f1..5a438b55d7 100644
--- a/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TreeMapSpaceGroupWrapper.java
+++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/xtal/io/TreeMapSpaceGroupWrapper.java
@@ -26,13 +26,13 @@
import org.biojava.nbio.structure.xtal.SpaceGroup;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
diff --git a/pom.xml b/pom.xml
index a418dfea5a..1b079ca711 100644
--- a/pom.xml
+++ b/pom.xml
@@ -462,14 +462,14 @@
1.039
- javax.xml.bind
- jaxb-api
- 2.3.1
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+ 4.0.0
org.glassfish.jaxb
jaxb-runtime
- 2.3.5
+ 4.0.3
runtime