The 31-year-old flanker will miss Scotland's autumn tests against Fiji, South Africa and Argentina in November and the start of the season with his new club Edinburgh.
"It's naturally disappointing to lose one of our key summer signings through injury but I'm more disappointed for the player, as I know how much he was looking forward to getting stuck into pre-season," Edinburgh coach Richard Cockerill told the club website http://www.edinburghrugby.org.
"We're still looking forward to welcoming a man of John's calibre into the group this summer where I know he will help build on the culture and environment that we established last season."
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
Barclay was already rested by coach Gregor Townsend for Scotland's tour of Canada, U.S, and Argentina next month.
(Reporting by Hardik Vyas in Bengaluru; Editing by Keith Weir)
