It's a matter of degree, of course. Lots of military hardware and systems share components; the same engine is used on different planes, etc, or the same with some modifications, or different engines using the same components - a matter of degree.
The biggest(?) example of sharing development to a greater degree is the F-35 plane. Three models - themselves mostly the same - were developed for about a dozen countries and more services (e.g., in the US, F-35s are used by three services, the Navy, Air Force, and Marines). The idea was that by sharing development costs, they could all buy better planes and then standardize parts (creating economy of scale there), maintenance, training, and functionality - everyone's planes would work perfectly together in combat, you could land your plane anywhere and get parts and maintenance, one country's pilots could fly another's planes. That's all fantastic for a deep military alliance.
But a big challenge is making three variations on one design please so many customers, fit so many needs. Think of development or integration projects in IT: Understanding, defining and meeting the specs of customers is often the hardest part. Imagine doing that for organizations as large as one US military service, such as the US Navy with all their needs and users and powerful people who want their way - imagine the specs of a plane that lands and fights off aircraft carriers - and then the powers in government that funds them, people in Congress, the White House, etc. etc. Now expand that to a dozen countries and all their military services - with different sized carriers, or different fuels, different cultures, different approaches to air defense, different legislators, etc. By serving all these needs, you can end up with outcomes that please everybody and serve nobody.
The F-35 has great positives - it's widely considered the best plane in the world - and negatives and has been the target of much criticism (including by people who didn't get contracts or get their way). Nobody seems anxious to repeat the process to that degree, but that doesn't mean it has no value.